C 介面 泛型

2021-08-22 19:35:14 字數 2094 閱讀 5731

介面

介面用inte***ce關鍵字表示

可以存放成員: 屬性 方法 事件 索引器

解決不能多重繼承的問題

介面只負責類的宣告 保證統一性

介面可以包含屬性和方法的宣告,但不能有欄位

介面中的所有成員預設public,不能在訪問修飾符

實現介面的任何類或者結構必須實現其所有成員方法

介面不能被直接例項化,可以通過子類簡介實現、

類可以繼承多個介面,也可以繼承多個基類並實現乙個或多個介面

可以繼承多個介面,逗號隔開。需要實現所有繼承介面的方法

乙個子類在繼承多個基類時 ,仍然可以繼承介面

但是基類要放在繼承的

介面和抽象類的相同點

1,都定義了一些未實現的屬性和方法

繼承他們的的類必須實現這些成員

2,都不能直接被例項化,都可通過子類間接例項化

3,都可以包含讓相同子類繼承時的抽象成員

不同點抽象類中除了抽象成員還可以有非抽象成員

介面中只能包含抽象成員

2,抽象類中成員可以是私有的

介面中所有成員預設public

3, 介面中不能包含建構函式析構函式

靜態成員和常量

4 乙個類只有乙個父類

介面可以有多個介面

介面也可以實現多個繼承

* 泛型實現將型別作為引數

c#中的泛型可以把型別當做引數傳遞在定義時 ,用特殊符號表示

佔位符來代替實際型別, 當這個類在例項化時就需要傳入乙個

實際型別,這樣可以在外界控制引數型別、

優點:1,使用泛型可以最大程度重用

保護型別 提高效能

2,降低強制型別裝換 或裝箱拆箱操作、

3,可以對泛型型別進行約束

缺點:泛型成員型別不確定可能是類,結構體,所有不能使用算數運算子

比較運算子等

可以使用賦值運算子

//泛型型別的多引數

1,型別引數的佔位符可以有多個

2,型別引數可以是編譯器識別的任何型別

3,佔位符的名字不能重名

介面介面用inte***ce關鍵字表示

可以存放成員: 屬性 方法 事件 索引器

解決不能多重繼承的問題

介面只負責類的宣告 保證統一性

介面可以包含屬性和方法的宣告,但不能有欄位

介面中的所有成員預設public,不能在訪問修飾符

實現介面的任何類或者結構必須實現其所有成員方法

介面不能被直接例項化,可以通過子類簡介實現、

類可以繼承多個介面,也可以繼承多個基類並實現乙個或多個介面

可以繼承多個介面,逗號隔開。需要實現所有繼承介面的方法

乙個子類在繼承多個基類時 ,仍然可以繼承介面

但是基類要放在繼承的

介面和抽象類的相同點

1,都定義了一些未實現的屬性和方法

繼承他們的的類必須實現這些成員

2,都不能直接被例項化,都可通過子類間接例項化

3,都可以包含讓相同子類繼承時的抽象成員

不同點抽象類中除了抽象成員還可以有非抽象成員

介面中只能包含抽象成員

2,抽象類中成員可以是私有的

介面中所有成員預設public

3, 介面中不能包含建構函式析構函式

靜態成員和常量

4 乙個類只有乙個父類

介面可以有多個介面

介面也可以實現多個繼承

* 泛型實現將型別作為引數

c#中的泛型可以把型別當做引數傳遞在定義時 ,用特殊符號表示

佔位符來代替實際型別, 當這個類在例項化時就需要傳入乙個

實際型別,這樣可以在外界控制引數型別、

優點:1,使用泛型可以最大程度重用

保護型別 提高效能

2,降低強制型別裝換 或裝箱拆箱操作、

3,可以對泛型型別進行約束

缺點:泛型成員型別不確定可能是類,結構體,所有不能使用算數運算子

比較運算子等

可以使用賦值運算子

//泛型型別的多引數

1,型別引數的佔位符可以有多個

2,型別引數可以是編譯器識別的任何型別

3,佔位符的名字不能重名

約束泛型型別只能為引用型別 約束泛型型別只能為引用型別

c 筆記(十一) 介面泛型

1.介面 定義ibattle介面 宣告攻擊attack 移動move 跳躍jump 等方法 定義irest介面 宣告sitdown sleep 等方法 定義soldier 戰士 master 法師 assassin 刺客 archer 弓箭手 等類,繼承上述介面,並實現內部方法。2.定義mylist...

泛型類,泛型介面,泛型方法

1.泛型介面和泛型類的使用類似,無區別。2.泛型方法使用是將泛型引數放在方法的返回值之前,例子 public void f t x 如果f t x 這個方法所在的類已經是擁有泛型引數t的泛型類,那麼可以省略前面的。因為編譯器會自動為我們找到具體的型別,稱之為型別引數推斷 type argument ...

Java基礎 泛型 泛型介面 泛型類 泛型方法

一 二 三 泛型方法 1.public t test t t1,t t2 一 泛型 1.泛型產生的背景 原因1 集合中儲存資料時,編譯期間可以儲存任何型別的資料,導致取值時轉換出錯 原因2 每次取值都需要強制轉換,冗餘繁瑣 2.泛型的定義 泛型的本質是乙個引數化的型別 在程式編碼中一些包含引數的類 ...