一、首先理解一下什么叫多態:
同一種操作作用於不同的對象,可以有不同的解釋,產生不同的執行結果,這就是多態性。舉一個形象的例子,在我們聽音樂會的時候,當指揮發出開始的信號,不同的樂器收到相同的信號,但是他們產生不同的行為:鋼琴發出的是鋼琴的聲音,小號發出的是小號的聲響。或者,如果把每個動物當成一個對象,那么他們都有一個方法叫做吃,但是他們卻產生不同的行為。
如圖:
二、多態的實現。
在C#中,多態性通過派生類覆寫基類中的虛函數型方法來實現。那么怎樣編寫虛函數呢?
基類的方法要加上關鍵字virtual后變成虛方法,才可以被重寫,從而實現面向對象最重要的特征——多態性,即基類可以使用派生類的方法。
public class Animal { public virtual void Eat() { Console.WriteLine("Eat something"); } }
運行結果如下: