继承:子类拥有父类的所有属性和方法,提高代码的重复性。
语法:
class Animal(): def eat(self): print('吃') def drink(self): print('喝') def run(self): print('跑') def sleep(self): print('睡') class Dog(Animal): def dark(self): print('汪汪叫')
Dog子类继承Animal父类,
如果C类继承自B类,B类继承自A类。那么C累也拥有A类中拥有的属性和方法,这就是继承的传递性。
如果父类中的属性不能满足子类的需求,就需要对父类的方法进行重写(override)
重写包含两种形式:
1、对父类方法进行覆盖。
def一个和父类相同名字的方法。在方法中直接编写全新的需求,这样对象在调用方式时会自动调用重写编写的方法。
eg
class Animal(): def eat(self): print('吃') def drink(self): print('喝') def run(self): print('跑') def sleep(self): print('睡') class Dog(Animal): def eat(self): print('狗吃肉')
这样就在Dog类中重写了Animai类的eat方法。
2、对父类方法进行扩展。
1、 def一个和父类相同名字的方法。
2.、在需要的位置使用super.父类方法的方式继承父类方法。
3、根据需要在继续编写子类的需求代码。
eg:
class Animal(): def eat(self): print('吃') def drink(self): print('喝') def run(self): print('跑') def sleep(self): print('睡') class Dog(Animal): def eat(self):
super().eat()
print(‘狗狗吃肉肉’)