【发布时间】:2011-11-03 07:11:47
【问题描述】:
假设我有 3 个班级:GrandDad、Dad、Son。儿子继承父亲,父亲继承祖父。
每个类都实现了 foo。
// GrandDad class:
public virtual void foo()
// Dad class:
new public virtual void foo()
// Son class:
public override void foo()
我不明白为什么爸爸会使用 new 关键字。据我了解,使用 new 隐藏了一种方法。为什么要这样做?
我阅读了 MSDN 对 new 的解释,但讨论只是机械的,而不是架构的。
谢谢
【问题讨论】:
-
您通常会在非虚拟方法的上下文中看到它。这是一个奇怪的案例。
-
这个 SO 问题的答案可能会有所帮助:stackoverflow.com/questions/1014295/…
标签: c# architecture new-operator