c#密封类,密封方法

为了避免滥用继承,c#中提出了密封类的概念。

1.1密封类的概念及声明

密封类可以用来限制扩展性,如果密封了某个类,则其他类不能从该类继承。如果密封了某个成员,则派生类不能重写该成员的实现。默认情况下,不应密封类型和成员。密封可以防止对库的类型和成员进行自定义,但也会影响某些开发人员对可用性的认识。

c#中使用密封类时,如果类满足如下条件,则应将其密封

  •  类是静态类。
  •  类包含带有安全敏感信息的继承的受保护成员。
  •  类继承多个虚成员,并且密封每个成员的开发和测试开销明显大于密封整个类。
  •  类是一个要求使用反射进行快速搜索的属性。密封属性可提高反射在检索属性时的性能。

c#密封类需要用到sealed关键字,具体语法如下

访问修饰符 sealed class 类名:基类或接口
{
    //类成员
}

在申明密封方法时,必须通过重写基类中的虚方法实现。

1.密封类不能作为基类被继承,但他可以继承别的类或接口

2.在密封类中不能声明受保护成员或虚成员,因为受保护成员只能从派生类进行访问,而虚成员只能在派生类中重写。

3.由于密封类的不可继承性,因此密封类不能声明为抽象的,即sealed修饰符不能与abstract修饰符同时使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锡城筱凯

你的鼓励是我创造的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值