本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。
1、重写的类别
(1)重写方法名称与父类相同。但在子类中,重新实现。
(2)保留父亲的做法,在此基础上扩展其他内容。(扩展模式:super())
super()两种表达:
super().方法(参数列表)
super(子类名,self).方法(参数列表)
2、重写实例
Animal 子类Cat继承了父类的属性和方法,但我们的猫 Cat 有自己的叫声 '喵喵' ,在这个时候,我们可以对待父类 Call() 重构方法如下:
classCat(Animal): def__init__(self,name,age,sex): super(Cat,self).__init__(name,age) self.sex=sex defcall(self): print(self.name,'会“喵喵”叫') if__name__='__main__': c=Cat('喵喵',2,'男') c.call()#输出:喵喵会“喵”叫
当我们在子类中重构父类方法时,类别方法的调用顺序,Cat子类的例子将首先在自己的类别中 Cat 找到这个方法,找不到这个方法的时候才会去父类。 Animal 找到相应的方法。
为了快速调用该方法,我们将从父亲那里继承该方法,并将其放在子类别的使用上。但这也会导致一个问题。所有子类别都显示了父亲的类别,并且没有区分它们自己的特征。此时,有必要重写方法。
以上是python继承类中的重写方法。当你遇到子类无法区分的问题时,你可以通过重写来区分它们。学习后尝试重写。