还是我在这里遗漏了一些基本的东西??
因为密封方法避免它在派生类中被覆盖,而虚拟方法允许它
sealed
用于防止子类覆盖virtual
您覆盖的方法。
该virtual
关键字将允许您(或使用您的代码的人)用他们自己的逻辑覆盖给定的方法。
该abstract
关键字将迫使您(或使用您的代码的其他人)用您自己的逻辑覆盖它。
该sealed
关键字将让您(或使用您的代码的人)阻止对方法的任何进一步修改。
如果您不添加“密封”,则可以再次覆盖被覆盖的方法。
当您想到这些关键字时,请考虑两种情况:您可以自己编写代码,也可以创建 DLL 和代码库供他人使用。后一种情况通常需要使用密封的、抽象的和虚拟的。
希望这可以帮助!
方法不要是sealed
or virtual
。您不需要指定任何内容,这反过来又不会让派生类覆盖它们。
方法可以是虚拟的,但只有类可以密封。
密封类不能被继承。
资料来源:http: //msdn.microsoft.com/en-us/library/88c54tsw (v=vs.71).aspx
编辑:好的,我错了,可以密封一个方法,但只有一个已经覆盖另一个,然后关键字阻止进一步覆盖该方法。
来源: http: //msdn.microsoft.com/en-us/library/aa645769 (v=vs.71).aspx