在子类继承父类的方法时,若子类需要这个方法具有不同的功能,那么可以通过覆盖(overriding)来重写这个方法。
通过继承覆盖方法,也就是在子类里再写一个与父类中一样的方法,实现自己想要实现的功能。例如:
class Parent:
def sayHello(self):
print("hello,i am class parent")
class Subclass(Parent):
def sayHello(self):
print("hello,i am class subclass")
sc = Subclass()
sc.sayHello()
在重写了父类中的方法后,也可以调用父类中的被重写方法。这时就是去调用一个未绑定的父类方法。例如:
Parent.sayHello(sc)
还可以在子类的重写方法里显示调用。例如:
class Parent:
def sayHello(self):
print("hello,i am class parent")
class Subclass(Parent):
def sayHello(self):
Parent.sayHello(self)
print("hello,i am class subclass")
sc = Subclass()
sc.sayHello()