我们已经了解了调用方法时候的查找规则, 先在子类中查找, 子类查找不到再去父类中查找.

如果父类的方法不满足子类的需求, 利用这个查找规则, 我们就可以在子类中添加一个与父类的一样的方法, 那么以后就会直接执行子类的方法, 而不会再去父类中查找.

这就叫方法的覆写.(override)

如果在覆写的方法中, 子类还需要执行父类的方法, 则可以手动调用父类的方法: 父类名.方法(self, 参数...)


class Father:
    def __init__(self, name):
        self.name = name

    def speak(self):
        print("我是父类中的 speak 方法" + self.name)


# Son继承 Father 类
class Son(Father):
    def __init__(self, name, age):
        Father.__init__(self, name)
        self.age = age

    # 子类中覆写了父类的方法
    def speak(self):
        Father.speak(self)
        print("我是子类的 speak 方法" + self.name + " 年龄:" + str(self.age))

s = Son("李四", 20)
s.speak()

Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-02-25 07:12:09

results matching ""

    No results matching ""