您当前的位置: 首页 >  c#

Allen Su

暂无认证

  • 2浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【C# 教程系列第 10 篇】c# 中如何让指定类不能被继承?

Allen Su 发布时间:2019-01-20 19:06:45 ,浏览量:2

这是【C# 教程系列第 10 篇】,如果觉得有用的话,欢迎关注专栏。

有时候我们并不希望自己写的类被继承,怎么做呢?

方法很简单,只需要在定义类时加上 sealed 关键字,用 sealed 关键字声明的类也叫密封类,如下代码

    public sealed class Room
    {
        
    }

强制派生会有什么错误呢?如下截图 在这里插入图片描述 Room 被定义为密封类,因此现在已经无法从 Room 类派生。

如果只是想阻止基类中的虚成员被覆写,并不打算阻止整个类被继承,其实方法与密封类相同,在定义虚成员时加上 sealed 关键字即可,如下代码所示

    public class Car
     {
         protected virtual void Run()
         {
             
         }
     }
    
    public class MyCar : Car
    {
        protected sealed override void Run()
        {
            base.Run();
        }
    }

Car 类中定义了虚方法 Run , MyCar 类继承 Car 类,并覆写 Run 方法,同时使用 sealed 关键字,使得再继承 MyCar 类的子类,不能再覆写 Run 方法。

这里我写一个 OtherCar 类并继承 MyCar 类,然后强制覆写 Run 方法,会如何呢?如下截图所示 在这里插入图片描述 注:这里我将成员声明为 protected ,只允许当前类和派生类访问,其它外部对象无法访问。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0362s