本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
1、重写的类别
(
1)重写
和父类的方法名称一样
。但是在子类里面,重新实现。
(
2)
保留父类的做法
,在它的基础上再扩展其它的内容。(扩展方式:
super())
super()的2种表达:
super().方法(参数列表)
super(子类名,self).方法(参数列表)
2、
重写实例
Animal的子类Cat继承了父类的属性和方法,但是我们的猫类Cat有自己的叫声'喵',这时候我们可以重构父类的Call()方法。如下:
class Cat(Animal):
def __init__(self, name, age, sex):
super(Cat, self).__init__(name,age)
self.sex = sex
def call(self):
print(self.name,'会“喵喵”叫')
if __name__ == '__main__':
c = Cat('喵喵', 2, '男')
c.call() # 输出:喵喵 会“喵喵”叫
类方法的调用顺序,当我们在子类中重构父类的方法时,
Cat子类的实例首先会在自己的类Cat中寻找方法,当找不到方法时,就会在父类Animal中寻找对应的方法。
为了快速调用方法,我们会从父类继承方法,放到子类中使用。但这也会造成一个问题。所有的子类都显示父类的类目,没有自己的特征来区分。这时候就需要方法重写了。
以上是python继承类中重写的方法。当遇到子类无法区分的问题时,可以通过重写方法来识别。学完之后,尝试使用重写。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python如何获取重定向的输入12/26
- ♥ 列表理解和生成的表达式之间的区别12/16
- ♥ 探索 python 可迭代对象的本质12/21
- ♥ 用Python写一个嫦娥奔月,中秋快乐03/18
- ♥ python中如何同时给多个变量赋值?09/03
- ♥ 如何使用 Python 浮点函数09/01
内容反馈