天天看點

C#繼承小結——面向對象程式設計的三大機制之一

繼承反應了類和類之間的關系。

    世界上很多事物都是有共性的,共性的那一部分我們就抽象為基類,用于派生其它類,這樣提高了代碼的複用性,使得代碼的結構清晰易讀,而且易于代碼的擴充和維護。 

    c#的繼承隻能繼承自一個基類,這一點不同于c++的繼承。

    c#的繼承具有傳遞性,即b繼承自a,c繼承自b,則c具有a的所有特性。

    c#的繼承隐式為public的。

    假如不在派生類構造器中顯示調用一個基類構造器,編譯器會自動插入對基類的預設構造器的一個調用,然後才會執行派生類構造器中的代碼, 如果基類沒有預設的構造器,會造成編譯錯誤。

    舉例:動物的共性:有嘴巴,有眼睛,有鼻子,可以移動,能夠吃東西

    是以定義基類   (包含動物的共性)

再定義具體的動物的時候就可以繼承自基類animal,不用再重新定義這些基本的特征,隻定義自己獨有的特性就好。

例如:dog 

C#繼承小結——面向對象程式設計的三大機制之一
C#繼承小結——面向對象程式設計的三大機制之一

注意:

可以把一個派生類的值賦給基類,但不能把一個基類的值賦給派生類,因為基類不能轉換為派生類,基類中隻包含了派生類的一部分特性。

animal animal=new dog(); 正确的

dog dog=new animal();錯誤

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

轉載:http://www.cnblogs.com/greenteaone/archive/2012/01/12/2320596.html