面向对象-继承.pdf
文本预览下载声明
课程:⾯向对象-继承
⽬标
继承的概念
单继承
多继承
⼦类重写⽗类的同名属性和⽅法
⼦类调⽤⽗类的同名属性和⽅法
多层继承
super()
私有属性和私有⽅法
⼀. 继承的概念
⽣活中的继承,⼀般指的是⼦⼥继承⽗辈的财产。
拓展1 :经典类或旧式类
不由任意内置类型派⽣出的类,称之为经典类。
1 class 类名:
2 代码
3
拓展2 :新式类
1 class 类名(object):
2 代码
Python⾯向对象的继承指的是多个类之间的所属关系,即⼦类默认继承⽗类的所有属性和⽅法,具体如
下:
1 # ⽗类A
2 class A(object):
3 def __init__(self):
4 self.num = 1
5
6 def info_print(self):
7 print(self.num)
8
9 # ⼦类B
10 class B(A):
11 pass
12
13
14 result = B()
15 result.info_print() # 1
在Python中,所有类默认继承object类,object类是顶级类或基类;其他⼦类叫做派⽣类。
⼆. 单继承
故事主线:⼀个煎饼果⼦⽼师傅,在煎饼果⼦界摸爬滚打多年,研发了⼀套精湛的摊煎饼果⼦的
技术。师⽗要把这套技术传授给他的唯⼀的最得意的徒弟。
分析:徒弟是不是要继承师⽗的所有技术?
1 # 1. 师⽗类
2 class Master(object):
3 def __init__(self):
4 self.kongfu = [古法煎饼果⼦配⽅]
5
6 def make_cake(self):
7 print(f运⽤{self.kongfu}制作煎饼果⼦)
8
9
10 # 2. 徒弟类
11 class Prentice(Master):
12 pass
13
14
15 # 3. 创建对象daqiu
16 daqiu = Prentice()
17 # 4. 对象访问实例属性
18 print(daqiu.kongfu)
19 # 5. 对象调⽤实例⽅法
20 daqiu.make_cake()
三. 多继承
故事推进:daqiu是个爱学习的好孩⼦,想学习更多的煎饼果⼦技术,于是,在百度搜索到⿊⻢程
序员,报班学习煎饼果⼦技术。
所谓多继承意思就是⼀个类同时继承了多个⽗类。
1 class Master(object):
2 def __init__(self):
3 self.kongfu = [古法煎饼果⼦配⽅]
4
5 def make_cake(self):
6 print(f运⽤{self.kongfu}制作煎饼果⼦)
7
8
9 # 创建学校类
10 class School(object):
11 def __init__(self):
12 self.kongfu = [⿊⻢煎饼果⼦配⽅]
13
14 def make_cake(self):
15 print(f运⽤{self.kongfu}制作煎饼果⼦)
16
17
18 class Prentice(School, Master):
19 pass
20
21
22 daqiu = Prentice()
23 print(daqiu.kongfu)
24 daqiu.make_cake()
注意:当⼀个类有多个⽗类的时候,默认使⽤第⼀个⽗类的同名属性和⽅法。
四. ⼦
显示全部