1.sealed 修饰符用来干什么的呢?
a.修饰类时,表示被修饰的类不能再继承。不可以和abstract一起用,因为意义相反。
b.修饰方法或者属性,表示被修饰方法或者属性不可以被重写。必须和 override 关键字一起使用。
因为使用 sealed 修饰符的方法或属性肯定是基类中相应的虚成员。
通常用于实现第三方类库时不想被客户端继承,或用于没有必要再继承的类以防止滥用继承造成层次结构体系混乱,恰当的利用sealed修饰符也可以提高一定的运行效率,因为不用考虑继承类会重写该成员。
案例:
代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
class Program
{
public enum timeofday
{
Morning=0,
Afternoon =1,
Evening=2
}
static void Main(string[] args)
{
Customer c = new Customer();
c.show(3);
}
class A
{
public virtual void F()
{
Console.WriteLine("A.F");
}
public virtual void G()
{
Console.WriteLine("A.G");
}
}
class B : A
{
/// <summary>
/// 密封一个方法
/// </summary>
public sealed override void F()
{
Console.WriteLine("B.F");
}
public override void G()
{
Console.WriteLine("B.G");
}
}
class C : B
{
public override void G()
{
Console.WriteLine("C.G");
}
}
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。