3.继承
继承也是面向对象的三大特性之一,可以减少代码量,让类与类之间产生关联,增强耦合性,使代码更加规范化,清晰化
3.1 单继承
class Animal(): def __init__(self,name,age): self.name = name self.age = age class Person(Animal): pass p1 = Person("Shawn",18) print(p1.name) print(p1.age)
1) 既要执行子类方法又要执行父类方法
class Animal(): def __init__(self,name,age): self.name = name self.age = age def work(self,action): print("动物都会%s"%action) class Person(Animal): def __init__(self,name): self.name = name Animal.work(self,"吃饭") #第一种方式:需要加上self super().work("睡觉") #第二种方式:不需要self super(Person,self).work("喝水") #全写方式 self.work("思考") def work(self,action): print("人类都会%s"%action) 运行结果: 动物都会吃饭 动物都会睡觉 动物都会喝水 人类都会思考
2) 对象既要执行父类的__init__ 又要执行子类的__init__方法
class Animal(): def __init__(self,name,age): self.name = name self.age = age class Person(Animal): def __init__(self,name,age,mind): super().__init__(name,age) self.mind = mind p1 = Person("Shawn",19,"有思想")
3.2 多继承