这是【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 ,只允许当前类和派生类访问,其它外部对象无法访问。
你的问题得到解决了吗?欢迎在评论区留言。
赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。
结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。