親を非表示にする方法

3382 ワード

通常、親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();

        }

    }

 
もう1つの場合、親のメソッドは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();

        }

    }