【c# 学习笔记】阻止派生类重写虚成员

  使用sealed 关键字可以防止一个类被其他类继承。同样,也可以使用sealed关键字来阻止派生类重写虚成员。如,我们希望Horse的继承类不再具有扩展Voice方法的行为。(上一章链接:https://www.cnblogs.com/xiaoyehack/p/9212184.html),则可以使用sealed关键字来停止虚拟继承,如下:

  

        public class Horse:Animal
        {
            //通过override关键字来重写父类方法
            public sealed override void Voice()
            {
                base.Voice();
                Console.WriteLine("马儿发出嘟...嘟....嘟....的声音");
            }

        }

        public class Test1:Horse
        {
            //编译时错误,因为此时Voice在Horse中被sealed修饰,定义为密封的。
            public override void Voice()
            {

            }
        }

  

posted @ 2018-06-22 10:47  DonaldL.Shaw  阅读(391)  评论(0)    收藏  举报