繼承:
類可以從基類繼承得到所有的操作、屬性、特性、事件以及這些内容的實作方法。但不能繼承執行個體構造函數、析構函數和靜态構造函數,也不能繼承那些顯示拒絕通路的成員。
繼承擴充了基類,并且是可傳遞的。而且派生類可以聲明同樣名稱或同樣簽名的新操作,來隐藏繼承得到的成員。
多态性:指能夠根據根據資料類或者資料類型,以不同的方式處理對象。或者說,提供方法或者屬性的不同實作方法,但具有相同的簽名。三種類型多态性:接口多态性、繼承多态性和抽象類多态性。
接口多态性:多個類可以實作同樣的接口,一個類也可以實作多個接口。
繼承多态性:在基類中使用virtual關鍵字,然後在子類中重寫功能。由于繼承類會繼承基類中所有的方法、屬性、特性以及事件。當不想繼承基類中歐過的某些功能時,可以稍作變化。
抽象類多态性:抽象類使用abstract關鍵字标記的類。抽象類通常具有抽象方法,隻定義了沒有實作的方法,不能執行個體化。完全靠子類來實作功能。其實抽象類實作多态性有點想繼承類多态性,隻不過關鍵字不同。同時,也比較像接口中定義的方法,即隻提供聲明,表示該方法會在子類中實作。
例如:使用繼承多态性實作代碼如下:
繼承多态性
運作結果是:animal bark;dog bark。
例如:使用抽象類多态性如下:
抽象多态性
本文轉自 陳敬(Cathy) 部落格園部落格,原文連結:http://www.cnblogs.com/janes/archive/2009/03/17/1414682.html,如需轉載請自行聯系原作者