【高级特性】46、面向对象:类的继承【高级特性】46、面向对象:类的继承
目录
一、类的继承机制
二、子类与父类
三、关于self
一、类的继承机制
- 继承(inheritance)
如果一个类别A继承自另一个类别B,就把继承者A称为子类,被继承的类B称为父类、基类或超类 -
代码复用
利用继承可以从已有类中衍生出新的类,添加或修改部分功能
新类具有旧类中的各种属性和方法,而不需要进行任何复制
二、子类与父类
- 定义
如果两个类具有“一般-特殊”的逻辑关系,那么特殊类就可以作为一般类的“子类”来定义,从“父类”继承属性和方法
class ():
def (self,…):
- 覆盖(Override)
子类对象可以调用父类方法,除非这个方法在子类中重新定义了
如果子类同名方法覆盖了父类的方法,仍然还可以调用父类的方法 -
子类还可以添加父类中没有的方法和属性
三、关于self
-
在类定义中,所有方法的首个参数一般都是self
-
self的作用
在类内部,实例化过程中传入的所有数据都赋给这个变量 -
self实际上代表对象实例
.()
等价于:
.(,)
这里的对象就是self -
如下图line81和82
微信赞赏支付宝赞赏