密封类是在类定义前加sealed。密封类不能被继承。
sealed class A
{
...
}
密封方法,能禁止子类对其进行重写的方法。
比如定义一个类A,A派生出B,B派生出C。
B如果需要对A的虚方法重写,但不想让C对B重写过的方法重写,可以对B的方法添加一个sealed,这样C就无法重写B的方法。
例子:
class A
{
virtual public void Fun()
{
Console.WriteLine("AAA");
}
}
class B:A
{
sealed override public void Fun()
{
Console.WriteLine("BBB");
}
}
此时C不能重写,如果加了override,就会报错
class C:B
{
public void Fun()
{
Console.WriteLine("CCC");
}
}