对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写。为此,可在子类中定义一个这样的方法,即它与要重写的父类方法同名。这样,Python将不会考虑这个父类方法,而只关注你在子类中定义的相应方法。
![](https://img.haomeiwen.com/i6313387/92c1e0977372bd80.jpg)
![](https://img.haomeiwen.com/i6313387/9679e1bd93c08636.png)
![](https://img.haomeiwen.com/i6313387/a4b688b9391839c0.png)
这段代码里重写了方法increment_age()。如果增加后的年龄大于4,则打印"become big dog",否则不打印。
使用代码dg.increment_age(4)时输方法出修改后的结果。Python会忽略父类里的方法,运行子类里的方法。
![](https://img.haomeiwen.com/i6313387/ceb32c756eb4eb04.png)
![](https://img.haomeiwen.com/i6313387/69ea5157b5277fe5.png)
在Car类里,ElectricCar没有油箱,因此在子类里要重写此方法。
网友评论