首页 > 其他 > 详细

隐藏父类的方法

时间:2014-11-13 16:21:16      阅读:243      评论:0      收藏:0      [点我收藏+]

正常情况下,父类virtual的方法,子类override

 class Animal
    {
        public virtual void EatFood()
        {
            Console.WriteLine("动物在吃东西");
        }
    }
    class Cat : Animal
    {
        public  override void EatFood()
        {
            Console.WriteLine("猫在吃鱼");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Animal animal = new Cat();
            animal.EatFood();//输出的是子类的方法
            Console.Read();
        }
    }

 

另外一种情况,父类的方法不是virtual的,但是子类中有同名的方法

但是子类需要隐藏掉父类的方法

class Animal
    {
        public void EatFood()
        {
            Console.WriteLine("动物在吃东西");
        }
    }
    class Cat : Animal
    {
        new public void EatFood()//通道new关键字,隐藏掉父类的方法
        {
            Console.WriteLine("猫在吃鱼");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Animal animal = new Cat();
            animal.EatFood();//输出的是父类的方法
            Console.Read();
        }
    }

 

隐藏父类的方法

原文:http://www.cnblogs.com/chucklu/p/4094866.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!