0

还是我在这里遗漏了一些基本的东西??

因为密封方法避免它在派生类中被覆盖,而虚拟方法允许它

4

4 回答 4

6

sealed用于防止子类覆盖virtual您覆盖的方法。

于 2012-12-09T03:07:10.653 回答
4
  1. virtual关键字将允许您(或使用您的代码的人)用他们自己的逻辑覆盖给定的方法。

  2. abstract关键字将迫使您(或使用您的代码的其他人)用您自己的逻辑覆盖它。

  3. sealed关键字将让您(或使用您的代码的人)阻止对方法的任何进一步修改。

如果您不添加“密封”,则可以再次覆盖被覆盖的方法。

当您想到这些关键字时,请考虑两种情况:您可以自己编写代码,也可以创建 DLL 和代码库供他人使用。后一种情况通常需要使用密封的、抽象的和虚拟的。

希望这可以帮助!

于 2012-12-09T03:08:51.520 回答
1

方法不要sealedor virtual。您不需要指定任何内容,这反过来又不会让派生类覆盖它们。

于 2012-12-09T03:04:59.967 回答
-2

方法可以是虚拟的,但只有类可以密封。 密封类不能被继承。

资料来源:http: //msdn.microsoft.com/en-us/library/88c54tsw (v=vs.71).aspx

编辑:好的,我错了,可以密封一个方法,但只有一个已经覆盖另一个,然后关键字阻止进一步覆盖该方法。

来源: http: //msdn.microsoft.com/en-us/library/aa645769 (v=vs.71).aspx

于 2012-12-09T02:53:50.233 回答