C 物件導向程式設計的繼承性(四)

2021-05-25 21:25:01 字數 1375 閱讀 2819

程式中使用物件導向的繼承特性時,主要分為單繼承和多繼承兩種情況,下面分別進行介紹。 1

.單繼承

單繼承一般用於類之間的繼承,c#中的類只支援單繼承,實現單繼承時,使用「子類:基類」格式。下面通過乙個例項講解如何實現單繼承。

建立乙個控制台應用程式,首先定義乙個language類,並在其中定義乙個string型別的name屬性;然後自定義乙個programdic類,該類繼承自language類,該類中定義了兩個方法,分別用來輸出「c#程式設計詞典」和「asp.net程式設計詞典」兩個字串;最後在program主程式類中例項化派生類programdic的乙個物件,並通過該物件呼叫父類中的name屬性為其賦值,然後通過判斷該屬性的值,呼叫派生類中的相應方法輸出字串。**如下:

class language//

自定義類

set}

}class programdic : language//

繼承自定義的類

public void donet()//

自定義方法,用來輸出

asp.net

程式設計詞典

}class program

else if (programdic.name == "asp.net")}}

} 2.多繼承

如果要使用多繼承,需要使用介面,因為c#中的類只支援單繼承,而介面支援多繼承,實現多繼承時,繼承的多個介面中間用逗號(,)隔開。

說明:實現多繼承時,繼承的可以是多個介面,也可以是乙個類及多個介面。

下面通過乙個例項講解如何實現多繼承。

建立乙個控制台應用程式,首先定義兩個介面,分別表示人的實體介面和行為介面;然後宣告乙個類,並使這個類繼承於定義的兩個介面,在該類中實現介面中的成員屬性和方法;最後在main方法中例項化派生類的物件,並使用該派生類物件呼叫人的實體介面和行為介面中的屬性和方法。**如下:

inte***ce ipeopleentity//

定義乙個實體介面

}inte***ce ipeopleactive//

定義乙個行為介面

class peopleclass:ipeopleentity,ipeopleactive//

繼承定義的兩個介面

set}

bool checkchinese(string str)//

定義乙個方法,用來判斷字串是不是中文

else

}return flag;//

返回定義的標識 }

public void say(string str)//

實現介面中定義的說話方法

else}}

class program}}

——摘自《c#程式設計詞典》

C 物件導向程式設計的繼承性(二)

介面是物件導向中乙個非常重要的概念,而且,物件導向中的繼承性和多型性主要都是通過介面來體現的。1 介面概述 介面是一種用來定義程式的協議,它描述可屬於任何類或結構的一組相關行為,可以把它看成是實現一組類的模板。介面可由方法 屬性 事件和索引器或這4種成員型別的任何組合構成,但不能包含字段。類和結構可...

PHP 物件導向程式設計之繼承性

可以有多層繼承,即乙個類可以繼承某乙個類的子類,如類 b 繼承了類 a,類c 又繼承了類 b,那麼類 c 也間接繼承了類 a。class a class b extends a php是單繼承,乙個類只能有乙個父類 乙個類可以有多個子類 支援多層繼承 classa class bextends ac...

GO 物件導向 繼承性

首先我們需要定義父級的結構體和方法 然後在寫孩子的結構體和方法 從而就會有三種形式 在學到這一步貌似go的繼承比php的要簡單的多 go的繼承只需要把父級的結構體名直接放到裡邊就行 繼承後可以訪問父級的屬性和方法 也可以訪問自己的專有屬性 同時還擁有重寫父級方法 所有案例都配備有 直接扔進去就可以執...