类的继承和调用
继承
在程序中,继承描述的是事物之间的所属关系,例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物;同理,波斯猫和巴厘猫都继承自猫,而沙皮狗和斑点狗都继承足够,如下如所示:
文章图片
定义一个父类Animal:
再定义一个子类的Dog继承父类Animal:
文章图片
子类在继承的时候,在定义类时,小括号()中为父类的名字
父类的属性、方法,会被继承给子类
虽然子类没有定义init方法,但是父类有,所以在子类继承父类的时候这个方法就被继承了,所以只要创建子类的对象,就默认执行了那个继承过来的init方法
多继承
所谓多继承,即子类有多个父类,并且具有它们的特征
文章图片
如图子类分别继承两个不同父类的方法
不过在父类A和父类B中有一个同名的方法,那么通过子类调用的时候调用的是写在子类小括号中的从左往右的顺序识别的。
你也可以用(子类.__mro__)来检验对象搜索方法时的先后顺序
调用
所谓重写,就是子类中,有一个和父类相同名字的方法,在子类中的方法会覆盖掉父类中同名的方法
调用父类有三种方法:
#father.__init__(self,name) #方法1
#super(Son,self).__init__(name)#子类调用父类的方法
super().__init__(name)# 方法3
【类的继承和调用】
文章图片
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量