如果一个类没有任何虚方法,我没有看到任何方式继承一个类将影响并没有明确指实例作为子类的实例,即当“虚拟”是可选的时,C#中“密封”的目的是什么?
Subclass obj = new Subclass()
,而任何代码比
BaseClass obj = new SubClass()
因此,为什么sealed
甚至存在?
如果你没有任何声明作为virtual
(我看到在一个密封类做没有意义),所有它可以防止事情是像(例如)ListViewItem
存储关于它所代表的代码一些额外的信息“知道”该信息在那里,不会影响未考虑该子类的代码,与重写的方法不同。
有更多的“明显”的答案,但如果一个类在CLR之上,而不是直接在C#代码实现和扩展它会分手呢? –