我们已经知道,使用密封方法可以防止对类的继承。C#还提出了密封方法(sealed method)的概念,以防止在方法所在类的派生类中对该方法的重载。
对方法可以使用sealed修饰符,这时我们称该方法是一个密封方法。
不是类的每个成员都可以作为密封方法,密封方法必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed修饰符总是和override修饰符同时使用。请看例子代码:
程序清单14-7:
using System; class A { public virtual void F(){ Console.WriteLine("A.F"); } public virtual void G(){ Console.WriteLine("A.G"); } } class B:A { sealed override public void F(){ Console.WriteLine("B.F"); } override public void G(){ Console.WriteLine("B.G"); } } class C:B { override public void G(){ Console.WriteLine("C.G"); } }
类B对基类A中的两个虚方法均进行了重载,其中F方法使用了sealed修饰符,成为一个密封方法。G方法不是密封方法,所以在B的派生类C中,可以重载方法G,但不能重载方法F。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索方法
, override
, public
, console
, WriteLine
sealed
机械密封、常用密封方法、密封方式、密封胶、c#密封方法,以便于您获取更多的相关知识。
时间: 2024-07-30 16:45:52