这一点.与基础.对于继承的受保护的非虚方法

本文关键字:受保护 方法 继承 于继承 这一点 | 更新日期: 2023-09-27 18:11:41

在子类中,我应该将继承的受保护的非虚方法称为this.Method()base.Method()吗?

使用this可以让我很容易地用同名的新方法隐藏该方法。只有在确定只需要调用基类的实现时,才应该显式地指定base吗?

这一点.与基础.对于继承的受保护的非虚方法

如果你打算在子类中添加一个名为Method的成员,并且仍然想调用继承的方法,你应该使用base.Method()。在更多的派生类中添加名为Method的成员不会改变this.Method()调用的含义。

始终使用this.Method()

如果隐藏了该方法,则可能需要调用新方法而不是基类中的方法。另一方面,如果你让基类的方法是虚的,你可能想让你的代码以多态的方式调用它。

很难预测未来,但这些情况似乎更有可能发生。