当前位置:首页 > C#教程 > C#高级

C# - 阻止派生类重写虚成员

             1
            using
             System;

             2
             3
            namespace
             类_阻止派生类重写虚成员

             4
            {

             5
            //
             声明一个抽象类Animal(用abstract关键字声明抽象类)
             6
            public
            abstract
            class
             Animal

             7
                {

             8
            //
             基类的抽象方法Voice(); 功能在派生类实现
             9
            public
            abstract
            void
             Voice();

            10
                }

            11
            12
            //
             派生类(子类)继承自Animal

            13
            //
            14
            public
            class
             Horse : Animal

            15
                {

            16
            //
             用sealed修饰重写的Voice()方法,无法在Horse的派生类中重写
            17
            public
            sealed
            override
            void
             Voice()

            18
                    {

            19             Console.WriteLine("马发出嘶....嘶....嘶....嘶的声音");       
20        }
21    }
2223// 派生类(子类)继承Horse类24publicclass Test : Horse
25    {
26/*--------------------------------------------------
27         // 无法重写Horse基类的密封(sealed)的方法Voice()
28        public override void Voice()
29        {
3031        }
32        ---------------------------------------------------*/33    }
3435class Program
36    {
37staticvoid Main(string[] args)
38        {
39// 抽象类不能被实例化
40//Animal a = new Animal();    // 编译错误41             Horse h = new Horse();
42            h.Voice();
4344            Console.ReadLine();
45        }
46    }
47 }

技术分享

原文:http://www.cnblogs.com/DuanLaoYe/p/5357964.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐