程式中使用物件導向的繼承特性時,主要分為單繼承和多繼承兩種情況,下面分別進行介紹。 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的繼承只需要把父級的結構體名直接放到裡邊就行 繼承後可以訪問父級的屬性和方法 也可以訪問自己的專有屬性 同時還擁有重寫父級方法 所有案例都配備有 直接扔進去就可以執...