乙個例子來看C 泛型是如何登場的

2022-01-18 23:39:16 字數 1412 閱讀 8047

有這樣乙個有關汽車的類。

public class car
public string make
}

現在,在客戶端建立乙個car的集合例項,再遍歷。

static void main(string args)
;
var car2 = new car() ;
var cars = new list<

car>();

foreach (var car in cars)
console.read();
}

現在,要為car增加發動機。

不同的車系車型可能用不同的發動機。這些發動機應該有乙個基類吧。

public class motorbase
public string name
}

比如,有2種型號的發動機,分別繼承基類motorbase。

public class v8 : motorbase
}
public class v9 : motorbase
}

car有可能用到v8發動機,也有可能v9發動機,這正是泛型登場的時候。

把car修改成泛型類。

public class car<

t>

public string make
public t motor
}

這樣,在建立car例項的時候,可以相對自如地選擇v8或v9發動機。

static void main(string args)
;
var v8car2 = new car<

v8>() ;

var v8cars = new list<

car>>

;
foreach (var car in v8cars)
,發動機:",car.make, car.motor.name);
}
console.read();
}
由此,當針對不同的型別有相同行為的時候,正是泛型登場的時候。

乙個簡單的例子學習c 泛型

using system 我們在編寫程式時,經常遇到兩個模組的功能非常相似,只是乙個是處理int資料,另乙個是處理string資料,或者其他自定義的資料型別,但我們沒有辦法,只能分別寫多個方法處理每個資料型別,因為方法的引數型別不同。有沒有一種辦法,在方法中傳入通用的資料型別,這樣不就可以合併 了嗎...

C 多型的乙個例子

class a virtual void f2 static void f3 virtual void f4 class b virtual void f2 static void f3 virtual void f4 int main 執行結果 a f1 b f1 a f3 b f2 分析 類的成...

XML教程 通過乙個例子來學習XML的語法

xml的語法規矩既很簡略,又很嚴格。這些規矩很輕易學習,也很輕易應用。正由於如此,創立可讀取及把持xml的軟體不是一件難事。xml應用一種可自我描寫的簡略的語法。tove jani reminder don t forget me this weekend 此文件中的第一行 xml宣告 定義了xml...