在Python中,允许子类提供特定方法的自定义实现。当有一个基类和一个继承自基类的子类,可以在子类中重写基类的方法。
重写方法时,需要使用相同的方法名和参数。当创建子类的实例并调用重写的方法时,Python会调用子类中的实现,而不是基类中的。
重写父类方法有两种方式,第一种就是覆盖父类的方法,第二种对父类中的方法进行拓展。
第一种方式:
class A:
def say(self):
print('我是AAA')
class B(A):
def say(self):
print('我是BBB')
b = B()
b.say()
此处输出:
我是BBB
第二种方式,使用super方法对基类方法进行扩展:
class A:
def say(self):
print('我是AAA')
class C(A):
def say(self):
super().say()
print('我是CCC')
c = C()
c.say()
此处输出:
我是AAA
我是CCC