在Python中,如果两个类存在父子级别的继承关系,子类中即便没有任何属性和方法,此时创建一个子类对象,那么这个子类对象会拥有父类中所有属性和方法的使用权,这就是在Python中的继承概念。
在Python测继承中,我们一般会抽取出一类事物中,所具有相同的特征属性和行为到一个类中,这样的类我们称之为父类,也可以叫超类、基类。
凡是通过继承创建出来的类,我们称之为子类或者衍生类,可以直接继承父类中的属性和方法。
Python面向对象的继承指的是多个类之间的所属关系,即子类默认继承父类的所有属性和方法,具体如下:
# 继承:子类默认继承父类的所有属性和方法# 1. 定义父类Parentclass Parent(object): def __init__(self): self.num = 1 def info_print(self): print(self.num)# 2. 定义子类Child 继承父类Parentclass Child(Parent): pass# 创建Child类实例,调用父类Parent中的方法和属性ch = Child()print(ch.num) # 1ch.info_print() # 1说明:在Python中,所有类默认继承
object类,object类是顶级类或基类,其他子类都是object的派生类。
单继承:一个父类只被一个子类继承,就叫做单继承。
故事主线:一个煎饼果子老师傅,在煎饼果子界摸爬滚打多年,研发了一套精湛的摊煎饼果子的技术。师父要把这套技术传授给他的唯一的最得意的徒弟。
# 1. 师父类,属性和方法class Master(object): def __init__(self): self.gongfu = '[古法煎饼果子配方]' def make_cake(self): print(f'运用{self.gongfu}制作煎饼果子')# 2. 定义徒弟类,继承师父类class Prentice(Master): pass# 3. 创建对象tuditudi = Prentice()# 4. 对象访问实例属性print(tudi.gongfu) # [古法煎饼果子配方]# 5. 对象调用实例方法tudi.make_cake() # 运用[古法煎饼果子配方]制作煎饼果子故事推进:徒弟是个爱学习的好孩子,想学习更多的煎饼果子技术,于是搜索到学院派煎饼果子,决定学院学习更多的煎饼果子技术。
所谓多继承意思就是一个类同时继承了多个父类。
# 1.创建师父类,属性和方法class Master(object): def __init__(self): self.gongfu = '[古法煎饼果子配方]' def make_cake(self): print(f'运用{self.gongfu}制作煎饼果子')# 2.创建学院派类 属性和方法class School(object): def __init__(self): self.gongfu = '[学院派煎饼果子配方]' def make_cake(self): print(f'运用{self.gongfu}制作煎饼果子')# 2. 定义徒弟类,继承师父类 和 宗师类class Prentice(School, Master): pass# 3. 创建对象tuditudi = Prentice()# 4. 对象访问实例属性print(tudi.gongfu)# 5. 对象调用实例方法tudi.make_cake()"""输出内容:[学院派煎饼果子配方]运用[学院派煎饼果子配方]制作煎饼果子"""总结:
class Prentice(School, Master):