老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

C語言中怎么使用泛型達(dá)到代碼重用的目的

這篇文章主要介紹C語言中怎么使用泛型達(dá)到代碼重用的目的,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)成立與2013年,公司以網(wǎng)站設(shè)計制作、網(wǎng)站制作、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶近千家,涉及國內(nèi)多個省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計、獨特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。

通過泛型,你重新獲得了鏈接列表的代碼通用(對于所有類型只用實現(xiàn)一次),而當(dāng)你初始化鏈表的時候你告訴鏈表所能接受的類型。這個實現(xiàn)是非常簡單的,讓我們重新回到Node類:

public class Node{      Object data;      ...

注意到 data 的類型是Object,(在EmployeeNode中,它是Employee)。我們將把它變成一個泛型(通常,由一個大寫的T代表)。我們同樣定義Node類,表示它可以被泛型化,以接受一個T類型。

public class Node < T>{      T data;      ...

讀作:T類型的Node。T代表了當(dāng)Node被初始化時,Node所接受的類型。T可以是Object,也可能是整型或者是Employee。這個在Node被初始化的時候才能確定。

注意:使用T作為標(biāo)識只是一種約定俗成,你可以使用其他的字母組合來代替,比如這樣:

public class Node < UnknownType>{      UnknownType data;      ...

通過使用T作為未知類型,next字段(下一個結(jié)點的引用)必須被聲明為T類型的Node(意思是說接受一個T類型的泛型化Node)。

Node< T> next;

構(gòu)造函數(shù)接受一個T類型的簡單參數(shù):

public Node(T data)  {      this.data = data;      this.next = null;  }

Node 類的其余部分是很簡單的,所有你需要使用Object的地方,你現(xiàn)在都需要使用T。LinkedList 類現(xiàn)在接受一個T類型的Node,而不是一個簡單的Node作為頭結(jié)點。

public class LinkedList< T>{      Node< T> headNode = null;

再來一遍,轉(zhuǎn)換是很直白的。任何地方你需要使用Object的,現(xiàn)在改做T,任何需要使用Node的地方,現(xiàn)在改做 Node< T>。下面的代碼初始化了兩個鏈接表。一個是整型的。

LinkedList< int> ll = new LinkedList< int>();

另一個是Employee類型的:

LinkedList< Employee> employees = new LinkedList< Employee>();

剩下的代碼與***個版本沒有區(qū)別,除了沒有裝箱、拆箱,而且也不可能將錯誤的類型保存到集合中。

LinkedList< int> ll = new LinkedList< int>();  for ( int i = 0; i <  10; i ++ )  {      ll.Add(i);  }   Console.WriteLine(ll);  Console.WriteLine("  Done.");   LinkedList< Employee> employees = new LinkedList< Employee>();  employees.Add(new Employee("John"));  employees.Add(new Employee("Paul"));  employees.Add(new Employee("George"));  employees.Add(new Employee("Ringo"));   Console.WriteLine(employees);   Console.WriteLine("  Done.");  Console.WriteLine("The fourth integer is " + ll[3]);  Employee d = employees[1];  Console.WriteLine("The second Employee is " + d);

泛型允許你不用復(fù)制/粘貼冗長的代碼就實現(xiàn)類型安全的集合。而且,因為,使用泛型運行時才被擴展成特殊類型。Just In Time編譯器可以在不同的實例之間共享代碼,***,它顯著地減少了你需要編寫的代碼。

這樣,使用泛型就達(dá)到了代碼重用的目的。

以上是“C語言中怎么使用泛型達(dá)到代碼重用的目的”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站標(biāo)題:C語言中怎么使用泛型達(dá)到代碼重用的目的
文章位置:http://www.xueling.net.cn/article/isgips.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 精品久久久久久中文字幕动漫 | 精品深夜AV无码一区二区老年 | 成人性视频欧美一区二区三区 | 亚洲靠逼网站 | 国产探花在线观看视频 | 红杏亚洲影院一区二区三区 | 午夜中文 | 亚洲欧美色视频 | 国产亚洲3P无码一区二区 | 无码不卡亚洲成?人片 | 欧美疯狂xxxxbbbb喷潮 | 欧美一区影院 | 国产毛毛片一区二区三区四区 | 国产在线拍偷自揄拍无码 | 欧美男男激情videosgay | 未亡人人妻一区三区三区 | 亚洲另类久久 | av中文字幕在线播放 | 亚洲一区二区三区涩 | 青青草手机在线视频 | 亚洲综合精品在线 | 色综合久久一个色 | 国产精品人成视频免费播放 | 中文字幕在线观看一区二区三区 | 亚洲最大成人网站 | 国产精品无码翘臀在线观看 | 最近免费中文字幕大全高清MV | 国产女人AAA级久久久级 | 日本a一区 | 亚洲综合日韩中文字幕 | 亚洲AV无码成人精品区蜜桃 | 女人毛片| 欧美精品国产一区二区三区 | 国产成人亚洲欧美久久影院 | 欧美日韩特级黄片观看 | 日韩美一区二区三区 | 免费看aaa | 亚洲国产精品乱码一区二区三区 | 国产精品美女一区二区视频 | 四虎成人精品国产永久免费 | 国产性夜夜春夜夜爽有声小说 |