看上面的代码:F2 在 C1、C2 中均有,F3 只在 C1 中有。
调用代码:
结果是:F1-3 和 F1-1。也就是说:
由此看来 override 是不具有传递性的,他只对其基类负责(只覆盖基类的),至于其基类的基类,他管不了那么远。
如果 C2 中 F2 通过 base.F2() 来调用,那么它也不会被覆盖,因为这等效于调用 C1 的 F2 方法。
可以验证
如上代码,结果是:F1-1、F1-3,说明 C1 类型时,覆盖并没有起作用,因为它没有调用到 C3 的 F1。
本文标签:override 那点 链式 传递性
原文链接:
版权说明: 本文由作者上传,本站仅提供存储服务,转载请注明原文链接