|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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代言。。。
- >>>
复制代码 |
评分
-
查看全部评分
|