C# 密封类和密封方法

来源:互联网 发布:飞行器设计的人工智能 编辑:程序博客网 时间:2024/04/27 03:00

密封类是在类定义前加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");
        }
    }

0 0