1 using System; 2 3 namespace 类_使用新成员隐藏基类成员 4 { 5 // 基类 : Animal 6 public class Animal 7 { 8 // 基类的普通方法Eat(), 并未用Virtual修饰 9 public void Eat() 10 { 11 Console.WriteLine("动物吃的方法: "); 12 } 13 } 14 15 // 子类 : Horse 16 public class Horse : Animal 17 { 18 // 子类的方法Eat()与基类的方法Eat()同名 19 // 使用关键字new修饰, 可以隐藏基类中的同名方法 20 public new void Eat() 21 { 22 // 调用Animal的Eat() 23 base.Eat(); 24 25 Console.WriteLine("【马】吃的方法!"); 26 } 27 } 28 29 public class Sheep : Animal 30 { 31 public new void Eat() 32 { 33 base.Eat(); 34 Console.WriteLine("【羊】吃的方法!"); 35 } 36 } 37 38 class Program 39 { 40 static void Main(string[] args) 41 { 42 // 马 43 Horse horse = new Horse(); 44 horse.Eat(); 45 46 Console.WriteLine(); 47 48 // 羊 49 Sheep sheep = new Sheep(); 50 sheep.Eat(); 51 52 Console.ReadLine(); 53 } 54 } 55 }