泛型類,泛型方法,泛型委託的定義方法

2021-09-08 16:54:08 字數 1022 閱讀 2947

今天看書,學習到了泛型類,泛型方法及泛型委託,做乙個簡單的總結,僅涉及泛型類,泛型方法及泛型委託的定義方法。

1. 泛型類

泛型類的定義與普通類的定義類似,只是增加了泛型型別()的宣告。泛型型別可以作為類中成員變數的型別,也可以作為成員方法的引數型別或方法返回值型別。

class examplegenericclass

//成員方法

public t examplefunction(t param)

}

示例類

examplegenericclass

中,t為泛型型別,該型別在類的內部被用作成員變數classmember的型別,建構函式的入參型別,以及成員方法

examplefunction

的入參及返回值型別。

2.泛型方法

泛型方法的定義同樣需要增加泛型型別()的宣告。

下面的方法用於交換兩個物件,該方法中的泛型型別t用於兩個入參及內部變數t。

void swap(ref t x, ref t y)

3.

泛型委託

泛型委託同樣在定義時宣告泛型型別()。

委託封裝的方法同樣需要宣告泛型型別。因為該方法的簽名必須與委託的定義一致。

public delegate void gendelegate(t input);

gendelegategd = dowork;

private static void dowork(t input)

例項中定義了泛型委託

gendelegate

,該委託封裝的方法接受乙個引數,不返回任何值,引數型別由泛型型別t指定。

總結一下,其實很簡單,大不了就是給普通的類,方法,委託增加泛型型別的宣告就變成了泛型類,泛型方法及泛型委託。

這樣一來,泛型型別就可以用於類裡面的成員,可以用於方法的引數,可以用於委託封裝的方法。

就寫到這裡了,累了一天,要睡覺了。

泛型 泛型類 泛型方法 泛型擦除

1 是什麼?一種允許我們在不確定引數型別時候使用的型別。例如我不知道a方法應該會傳string還是int,我就用個泛型先佔坑。2 為什麼要用泛型?泛型可以在編譯期自動確定具體型別,檢查型別是否匹配,可以提高 的重用率,減少冗餘編碼。3 泛型與object的區別?像上面說的我不知道方法a的引數型別,其...

泛型 (2)泛型類 泛型方法 泛型介面

一 泛型類 定義person類 package cn.itcast.p2.bean public class person implements comparable public person string name,int age public int compareto person p ov...

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

泛型,就是一種不確定的資料型別。如果在類後面加上 這個類就變成了泛型類。這個 t可以使用任意的字母代替。表示定義了一種不確定的資料型別,這種不確定的資料型別必須在使用這個類 比如建立物件 的時候才能確定下來。如果希望縮小泛型的範圍,延後泛型的確定時間,讓泛型在呼叫方法的時候確定,那麼我們可以使用泛型...