马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
继承:子类可以继承父类的任何属性和方法
子类 基类、父类或超类
class DerivedClassName(BaseClassName):
>>> class Parent:
def hello(self):
print('正在调用父类的方法。。。')
>>> class Child(Parent):
pass
>>> p = Parent()
>>> p.hello()
正在调用父类的方法。。。
>>> c = Child()
>>> c.hello()
正在调用父类的方法。。。
注:如果子类中定义与父类同名的方法或属性,则会自动覆盖父类对应的方法或属性>>> class Child(Parent):
def hello(self):
print('正在调用子类的方法。。。')
>>> c = Child()
>>> c.hello()
正在调用子类的方法。。。
>>> p.hello()
正在调用父类的方法。。。
子类方法重写会覆盖父类同名方法,解决办法是2种:
1.调用未绑定的父类方法 --> 父类.__init__(self)
1.使用super函数(推荐) --> super().__init__() ----- 推荐这个方法
__init__(self)是父类的方法
多重继承 : 除非必需,否则不建议使用多重继承,以免出现不可预知的bug
class DerivedClassName(Base1,Base2,Base3):
>>> class Base1:
def foo1(self):
print('我是foo1,我为Base1代言。。。')
>>> class Base2:
def foo2(self):
print('我是foo2,我为Base2代言。。。')
>>> class C(Base1,Base2):
pass
>>> c = C()
>>> c.foo1()
我是foo1,我为Base1代言。。。
>>> c.foo2()
我是foo2,我为Base2代言。。。
>>>
|