密封类和密封方法

public class ParentClass    //public seale class ParentClass 使用seale修饰符实现密封类,不能被继承
    {
        public ParentClass()
        {
            Console.WriteLine("父类构造函数");
        }

        public virtual void SayHello()  //使用virtual修饰符实现虚拟方法,派生类可以重写该方法
        {
            Console.WriteLine("我是父类");
        }
    }

    public class ChildClass : ParentClass
    {
        public ChildClass()
        {
            Console.WriteLine("子类构造函数");
        }

        public void Say()
        {
            //访问基类成员
            base.SayHello();  //通过base.<方法名>()的方式调用基类的方法
        }

        public sealed override void SayHello()  //当实例方法声明包含 sealed 修饰符时,称该方法为密封方法。如果实例方法声明包含 sealed 修饰符,则它必须也包含 override 修饰符。使用 sealed 修饰符可以防止派生类进一步重写该方法。
        {
            Console.WriteLine("我是子类");
        }

        static void Main(string[] args)
        {
            ChildClass child = new ChildClass();

            child.Say();

            child.SayHello();

            //访问基类成员
            ((ParentClass)child).SayHello(); //显式类型转换

            Console.ReadKey();
        }
    }

 

posted @ 2014-08-18 10:29  linyongqin  阅读(122)  评论(0编辑  收藏  举报