C# 密封类和密封方法的定义和使用

在我们的日常写代码中,类通常是允许被继承的,这样就会导致一个问题,所有的类都可以被其它类继承,导致来回继承,使代码的层次结构非常混乱,所以C#提供给我们了:密封。

密封类

密封类就是为了限制类的可继承,如果某个类是密封类,则这个类是不能被继承的,所以这个类也没有子类。

访问修饰符 sealed class 类名
{
    //具体的成员
}

通过 sealed 关键字对类进行密封。同时方法密封类中的成员或者方法,只能通过创建密封类的对象来进行方法。

密封方法

是不是在方法前面加一个 sealed 关键字 就可以声明为密封方法了呢?
答案:错!
我们只能对重写后的方法,进行密封,表示不能被再次重写了。

class AttackBase
{
    public virtual void Name()
    {
        Console.WriteLine("这是基类的法");
    }
}

class Attack1 : AttackBase
{
    public override sealed void Name()
    {
        Console.WriteLine("这是派生类中的密封方法");
    }
}

所以说:对于密封方法,sealed和override总是同时出现的。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值