2011-04-08 56 views

回答

4

因为,通过暗示,不会打破任何东西。

+0

是的,但它是烦人。 – Mirial 2011-04-08 09:42:43

+0

如果什么都没有打破,为什么会很烦人呢? – thumbmunkeys 2011-04-08 09:43:23

+1

实际上,大部分时间你都需要扩展一个方法的功能,并且最终会在重写的方法中调用'base.Method()'。 – 2011-04-08 09:44:08

3

因为在大多数情况下,它有意义或者甚至需要调用基类实现,例如,在WinForms中(基类通常从其OnXXX方法中引发事件)虚方法(基类需要处置)或虚方法OnXXX

当然如果虚拟方法是你的,你不希望这种行为我认为,这是很烦人;)

+0

讨厌与否,即使你自己的基础方法可能会改变 - 有一些潜在的_sood stuffs_去。 – 2011-04-08 10:13:22

+0

当然,但也可能有些情况下,它不打算使用基类的功能。以'Object.ToString'为例,你通常不需要基础实现。 – 2011-04-08 10:30:02

+0

确切地说;这就是我发现在预期行为中掷出50/50的“恼人”有点苛刻的原因。 – 2011-04-08 10:43:36

相关问题