Virtual Functions C#
问题 I understand what a virtual function is. But what I don't get is how do they work internally? class Animal { virtual string Eat() { return @"Eat undefined"; } } class Human : Animal { override string Eat() { return @"Eat like a Human"; } } class Dog : Animal { new string Eat() { return @"Eat like a Dog"; } } static void Main() { Animal _animal = new Human(); Console.WriteLine(_animal.Eat()); _animal = new Dog(); Console.WriteLine(_animal.Eat()); } Output for the above gives: Eat like a Human