Python继承的方法覆盖

176 阅读1分钟

假设有一个类Model:


class Model:

    def split_data(self):
        raise NotImplementedError('When subclassing the `Model` class, you should implement a `split_data` method.')

    def train(self):
        self.split_data()
        print("train...")

有它的子类ModelA:

class ModelA(Model):
    def split_data(self):
        print("A split data")

当我们测试这个类时:

m = ModelA()
m.train()

输出:

A split data
train...

说明python的子类于父类又同名方法时,子类的方法会覆盖父类的方法