c 物件導向的三大特徵之一繼承

2021-10-18 04:48:44 字數 722 閱讀 5924

繼承、封裝和多型是物件導向程式設計的重要特性。

其成員被繼承的類叫基類也稱父類,繼承其成員的類叫派生類也稱子類。

派生類隱式獲得基類的除建構函式和析構函式以外的所有成員。

派生類只能有乙個直接基類,所以c#並不支援多重繼承,但乙個基類可以有多個直接派生類。

繼承是可以傳遞的。即:

如果 classb 派生出 classc,classa 派生出 classb,則 classc 會繼承 classb 和 classa 中宣告的成員。這裡用一例子講解:

class a

」,sum);}}

class b : a

」, minus);

this.sum(3, 4);}}

class inheritancetest1

}結果:i am b ,my minus=-1

i am a ,my sum = 7

試想一下,當基類sum()方法是私有時,派生類還會繼承該方法嗎?

經過本人測試,沒有在b類找到該方法,那麼是不是它就沒有被繼承呢?其實不是的,私有成員其實已經被繼承了,

但是它們卻不可以被訪問,因為私有成員只能被宣告它們的類或結構體中才可訪問,所以看上去像是沒有被繼承。

如果我們想降低訪問基本,我們可以把基類sum()方法定義為protected。

能夠阻止某個類被其他類繼承嗎?

答案是可以的,c#提供了乙個sealed 修飾符,此修飾符會阻止其他類從該類繼承。

物件導向三大特徵之一 繼承

概述 多個類中存在相同的屬性和行為時,我們可以將這些內容抽取到單獨的乙個類中,那麼多個類就無需在定義這些屬性和行為,只要去繼承這個單獨的類即可。其中,多個類稱為子類或者派生類,單獨的那乙個類稱為父類,超類,基類 繼承描述的是事物之間的所屬關係,這種關係是 is a關係。在繼承關係中,子類就是乙個父類...

物件導向三大特徵之一繼承

繼承 類似於現實世界中的子承父業,實現字段 屬性 方法 構造方法例外 的繼承,但私有的是無法訪問的,將類和類之間進行關聯,增加系統的耦合性,被繼承的類 父類或基類,繼承的類 子類或派生類。重用性 子類繼承父類的非私有的成員 例子 class people public string name pub...

物件導向三大特徵 繼承

繼承 提高 的復用性 避免 重複 修改父類,影響所有的子類 增加了耦合性 如果乙個類沒有指定父類,預設父類是object,object類是所有類的父類 單繼承 乙個類只能有乙個父類 c 可以多繼承 可以多層繼承 1 編寫父類 public class person public void setna...