This question already has answers here:
is it possible to mark overridden method as final
(4个答案)
5年前关闭。
假设我有一个名为
我创建了一个名为
然后,我创建一个名为
这是东西:
我不希望
由于
(4个答案)
5年前关闭。
假设我有一个名为
Animal
的基础抽象类,它具有一个名为Move
的虚拟方法。我创建了一个名为
Mammal
的子类,该子类继承自Animal并定义了Move
方法。然后,我创建一个名为
Mammal
的Rabbit
子类。这是东西:
我不希望
Rabbit
能够覆盖Move
已经定义的Mammal
的实现(Mammal
的子类不能更改Mammal
定义的Move的定义)。由于
Rabbit
继承自Mammal
,是否可以对Move
类中的Mammal
方法进行“非虚拟化”,以防止继承类覆盖Mammal
中的方法定义? 最佳答案
class Animal
{
public virtual void Move() { }
}
class Mammal : Animal
{
public sealed override void Move() { }
}
class Rabbit : Mammal
{
public override void Move() { } // error
}
10-08 18:37