c#的sealed修饰符

来源:互联网 发布:淘宝联盟互刷 编辑:程序博客网 时间:2024/04/26 08:33

看书时发现sealed可以阻止类被继承,但是sealed能否作用于方法或者属性呢?
答案是肯定的!
当sealed用来修饰方法时,只能对派生类使用,这个方法将重写基类的方法,但是该类的派生类将无法再次重写这个方法。
如果对基类使用,编译器将会报错

错误 1 因为“ConsoleApplication1.A.T()”不是重写,所以无法将其密封 ConsoleApplication1\ConsoleApplication1\Program.cs 12 27 ConsoleApplication1

而如下代码则是正确的

 class A    {       public virtual  void T()        {            Console.WriteLine("A");        }    }    class Program: A    {        sealed public override void T()        {            Console.WriteLine("PPP");            base.T();        }   }

参考文献:sealed

0 0