以下代码段有效
public class BaseClass
{
public virtual void Display()
{
Console.WriteLine("Virtual method");
}
}
public class DerivedClass : BaseClass
{
public override sealed void Display()
{
Console.WriteLine("Sealed method");
}
Run Code Online (Sandbox Code Playgroud)
}
但为什么不呢
public class BaseClass
{
public virtual sealed void Display()
{
Console.WriteLine("Virtual method");
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
其实我正在阅读什么是密封类和密封方法?本文.所以我按照作者的指示.突然,我试着用基类来演奏Sealed的概念.这就是我提出这个问题的原因.
Jon*_*eet 16
override sealed是有效的,因为它说"我正在覆盖基类方法,但派生类不能覆盖我." 那讲得通.其中一部分是谈论与基类的关系; 另一个是谈论派生类的关系.
virtual sealed会说"你可以覆盖我(virtual),但你不能覆盖我(sealed)." 这是没有意义的.这两个修饰语是矛盾的,适用于相同的关系.
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |