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 多继承
浙公网安备 33010602011771号