gpt4 book ai didi

c# - Override Sealed 是有效的,但为什么在 C# 中不使用 Virtual Sealed?

转载 作者:行者123 更新时间:2023-11-30 18:50:23 25 4
gpt4 key购买 nike

下面的代码片段是有效的

public class BaseClass
{

public virtual void Display()
{
Console.WriteLine("Virtual method");
}
}

public class DerivedClass : BaseClass
{

public override sealed void Display()
{
Console.WriteLine("Sealed method");
}

但为什么不

public class BaseClass
{

public virtual sealed void Display()
{
Console.WriteLine("Virtual method");
}
}

已编辑

其实我在读What is sealed class and sealed method?本文。所以我是按照作者的指示去做的。突然我尝试用基类玩 Sealed 的概念。这就是我提出这个问题的原因。

最佳答案

override sealed 是有效的,因为它表示“我正在覆盖基类方法,但派生类不能覆盖我。”这就说得通了。其中一部分是在谈论与其基类的关系;另一个在讲派生类的关系。

virtual sealed 会说“你可以覆盖我(virtual)但你不能覆盖我(sealed)。”这是没有意义的。这两个修饰符是矛盾的并且适用于相同的关系。

关于c# - Override Sealed 是有效的,但为什么在 C# 中不使用 Virtual Sealed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28315166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com