所有C#类都是从System.Object派生出来的。 //基类 public class Enemy { public Enemy()//构造函数 { Console.WriteLine("enemy contructor"); } public void UpdateAI() { Console.WriteLine("update enemy ai"); } } //派生类 public class Boss : Enemy { public Boss()//构造函数 { Console.WriteLine("boss contructor"); } } Boss boss=new Boss();//先执行基类的构造函数,后执行派生类的构造函数 boss.UpdateAI(); 在派生类中重写基类的某些方法,需要在基类中将方法标记为virtual,然后在派生类的方法定义中使用关键字override代替基类的方法。 using System; namespace Test1 { public class Enemy { public Enemy() { Console.WriteLine("enemy contructor"); } public virtual void UpdateAI() { Console.WriteLine("update enemy ai"); } } public class Boss : Enemy { public Boss() { Console.WriteLine("boss contructor"); } public override void UpdateAI() { Console.WriteLine("update boss ai"); } } class Program { static void Main(string[] args) { Enemy[] enemies = new Enemy[2]; enemies[0] = new Enemy(); enemies[1] = new Boss(); for (int i=0; i<2; i++) { enemies[i].UpdateAI(); } Console.ReadKey(); } } }