【小甲鱼Python】类和对象:继承&&课后作业

笔记

继承

语法    class  DerivedClassName(BaseClassName):

被继承的类被称为父类,基类或超类,继承者称之为子类。

【小甲鱼Python】类和对象:继承&&课后作业

如果子类中定义与父类中同名的方法或属性,则在子类中会自动覆盖父类对应的方法或属性:

【小甲鱼Python】类和对象:继承&&课后作业

如果在继承时,对于一个同名的方法,想要既继承父类的操作,又另外增加子类独有的操作,有两种解决方法:

1.调用未绑定的父类方法:

父类:

【小甲鱼Python】类和对象:继承&&课后作业

子类:

子类中的Fish.__init__(self),其中的self是Shark的实例对象,而不是Fish的实例对象。所以该方法没有绑定父类,传入的是子类的实例对象。

【小甲鱼Python】类和对象:继承&&课后作业

实质上是:

【小甲鱼Python】类和对象:继承&&课后作业

 

2.使用super函数:

super()函数可以自动找出继承的父类并返回,在有多层父类的情况下十分方便,并且不用写self参数。

【小甲鱼Python】类和对象:继承&&课后作业

多重继承

语法   class DerivedClassName(Base1,Base2,Base3):

可以同时继承多个父类,当父类中有同名方法时,在前面的父类被继承。

【小甲鱼Python】类和对象:继承&&课后作业