作用:子類可以對父類中的虛方法進行重寫,虛方法是多態特性的一種體現
C#中的虛方法使用virtual關鍵字定義
public virtual void eat();
override關鍵字作用是對父類的virtual方法進行重寫
public override void eat();
代碼舉例:
using System; using System.Collections; public class Animal { public Animal() { } public virtual void eat() { } } public class dog:Animal { public override void eat() { //如果父類的虛方法中有我們需要的數據,可以在子類的覆蓋方法中調用它: //base.eat(); Console.WriteLine("狗吃骨頭"); } } public class cat:Animal { public override void eat() { Console.WriteLine("貓吃魚"); } } public class panda:Animal { public override void eat() { Console.WriteLine("熊貓吃竹子"); } } public class MainFun { static void Main() { Animal[] anim = new Animal[3]; anim[0] = new dog(); anim[1] = new cat(); anim[2] = new panda(); anim[0].eat(); anim[1].eat(); anim[2].eat(); } }
