继承

继承

oop(面向对象的三大特性):继承、封装、多态

单继承

class p:
... p = 2
...
class C(p):
... pass
dir(C)
['class', 'delattr', 'dict', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'gt', 'hash', 'init', 'init_subclass', 'le', 'lt', 'module', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'setattr', 'sizeof', 'str', 'subclasshook', 'weakref', 'p']

C继承p

C.base
main.p'>
p.base

类的base属性即该类的父类,object是所有类的基类(公共父类)
子类中有与父类同名称的方法时(重写),子类会把父类中同名称的方法覆盖,可以在子类的初始化方法中调用父类的初始化方法(super():获取父类对象)

多继承

子类继承了两个父类

class P1:
... p1 = 1
...
class P2:
... p2 = 2
...
class C(P1,P2):
... pass
...
C.p1
1
C.p2
2
C.mro
(main.C'>, main.P1'>, main.P2'>, )

你可能感兴趣的:(继承)