part01 02 泛型與集合 泛型

2022-07-18 05:36:13 字數 1033 閱讀 6550

泛型是什麼?

泛型的定義主要有以下兩種:

1. 在程式編碼中一些包含型別引數的型別,也就是說泛型的引數只可以代表類,不能代表個別物件。(這是目前比較常見的定義)

2. 在編碼中一些包含引數的,其引數可以代表類或物件等等(目前大多數把這稱作模板)

不論使用哪個定義,泛型的引數在真正使用泛型時都必須作出指明。

一些強型別程式語言支援泛型,其主要目的是加強型別安全及減少類轉換次數,但一些支援泛型的程式語言只能達到部分目的。

類  泛型《具體型別》

獲取值()

}

1

class genericstype2

4public

void

set(t input)58

}910class

demo

1125 }

泛型的理解:泛指所有可能的物件:定義一類 「東西」 ,可以約束東西的一些特徵 (屬性和方法),例如容器作為泛型來看,其基本的特徵就有 「容積」 這樣的值。

「東西」 用到的時候才成為物件:泛型容器在例項化的時候,需要指明具體的型別(例如立方體),才能做計算容器的處理。類似的概念:一杯喝的東西,也可以看成是泛型, 在需要喝的時候,才例項化:一杯酒、一杯牛奶、一杯開水 ......

和抽象類不一樣:抽象類定義了具體的規格例如屬性、方法,使用之前就知道其基本的結構資訊了,只是屬性可以直接在派生類用,方法根據需要重寫。已經是具體的型別了。

和介面類不一樣:與抽象類相似,只是在介面類中多有的屬性、方法都需要在派生類中顯示顯示。

參考**:

泛型集合,非泛型集合

arraylist 非泛型集合 list 泛型集合 集合跟陣列比較我們更容易理解。陣列 1,長度固定2,資料型別預先宣告 集合 1,長度可變2,資料型別預先宣告的為泛型集合,資料型別不限定為非泛型 arraylist 長度不固定,元素資料型別為object的集合。object類之間或間接為所有類的父...

集合和泛型11 泛型委託與泛型事件

委託也可以泛型化,也就是委託也定義自己的型別引數,這樣的委託稱為泛型委託。在使用委託的 中可以給委託指定型別引數的具體型別,而讓泛型委託例項化為具體的委託例項。就像例項化泛型類或呼叫泛型方法一樣。定義乙個泛型委託的語法格式 public private protected delegate 返回型別...

C 泛型 泛型集合Dictionary

在system.collections.generic命名空間中,與arraylist相對應的泛型集合是list,與hashtable相對應的泛型集合是dictionary,其儲存資料的方式與雜湊表相似,通過鍵 值來儲存元素,並具有泛型的全部特徵,編譯時檢查型別約束,讀取時無須型別轉換。本儲存的例子...