覆盖没有实现的方法
本文关键字:方法 实现 覆盖 | 更新日期: 2023-09-27 18:31:09
所以我有一个派生自GameComponent的类。在类中存在此方法:
public override void Initialize(){
base.Initialize();
}
我见过多个来源,人们做同样的事情,他们覆盖 Initialize 方法,但除了 base.Initialize
调用之外没有实现。我不明白这一点,因为如果它什么都不做,为什么要有这个方法?如果不包含重写方法,则默认情况下会调用 GameComponent 类中的虚拟方法,对吗?我从字面上取出了整个方法,没有发生任何不同的事情。
简而言之,覆盖没有实现的方法有什么意义?
是的,您显示的内容完全等同于根本没有覆盖它;Resharper实际上会建议删除这种方法,因为它是不必要的混乱。
从技术上讲,重写它并仅调用基方法并不是"无实现",它是默认实现,或者没有其他实现。没有实现会覆盖它,然后清空该方法:
public override void Initialize()
{
// no implementation
}
在这种情况下,您不想这样做,但在某些情况下您可能希望这样做。
None。
原因是游戏组件模板包含它以指导您应该如何实现。