4 回答

TA貢獻(xiàn)2019條經(jīng)驗 獲得超9個贊
首先,了解一下Java關(guān)于泛型的概念。泛型,在C++中被稱為模板,就是一種抽象的編程方式。當(dāng)我們定義類和方法的時候,可以用一種通用的方式進(jìn)行定義,而不必寫出具體的類,這些未知的東西會在真正使用的時候在確定。
對于集合類來說,它們可以存放各種類型的元素。如果在存放之前,就能確定元素的類型,那么就可以更加直觀,也讓代碼更加簡潔。

TA貢獻(xiàn)1900條經(jīng)驗 獲得超5個贊
?語言中泛型的設(shè)計用處不但是為了讓你少寫代碼,同時在解決不同類型(這里是指值類型和引用類型)問題的時候減少了不必要的二次開銷。
假設(shè)語言不設(shè)計模版概念,我們使用list,那么語言中解決這種問題不得不使用list->object類型,那么問題就來了如果是引用類型還好辦,這個轉(zhuǎn)換沒什么開銷,但是是值類型怎么辦。我們再假設(shè)是list->A類型,B類型不是A派生的,那么B是無法使用list集合的。至于模版概念之后,又產(chǎn)生的約束等概念..自己可以慢慢想哪些問題無法解決或者很難解決~
總而言之,設(shè)計的模型(之后就是定義的概念)都是為解決一些問題而定義的,比如3d的模型設(shè)計,拋開攝像機(jī)的模型設(shè)計沒有更好或者更合適的模型,由此大家都不得不使用這種概念,而二維繪制模型就相對變化要多些了,比如dc,cavas等等,但每種設(shè)計必定有某種設(shè)計的優(yōu)勢和劣勢。

TA貢獻(xiàn)1801條經(jīng)驗 獲得超16個贊
添加回答
舉報