![]() |
1
2
我假设你 真正地 要做的不是修饰这些方法的基类副本,而是修饰子类中这些方法的新覆盖副本。 如果是这样,那很容易。这些方法不存在于传递给元类的字典中,因为它们没有在类定义中定义,它们是从基类继承的。元类 而且 可以访问。因此:
如果你真的想进入基类并替换它的方法,你当然可以使用同样的技巧。只需返回基和找到的方法,就可以
您要求重写方法
在基类中
。但如果该方法实际上来自更遥远的祖先呢?然后,这仍然会起作用,但可能不会按您所希望的方式起作用。如果您有多个共享共同祖先的基,请调用
正如user2357112在一条评论中指出的那样,如果你想要覆盖的是“如果我没有覆盖任何东西,会调用什么”,你可以通过构造新类来实现这一点
第一
,然后通过调用
|