Java編程思想——泛型

       一般的類和方法,只能使用具體的類型;要麼是基本類型,要麼是自定義的類。如果要編寫可以應用於多種類型的代碼,這種刻板的限制對代碼的束縛就會很大。

      Java面向對象的思想中多態算是一種泛化機制。如你可以將方法的參數類型設爲基類,那麼該方法就可以接受從這個基類中導出的任何類作爲參數。這樣的方法更加通用一些,可應用的地方也多一些。範式需要說明類型的地方,如果都使用基類,確實能夠具備更好的靈活性。但是考慮到除了final類型不能擴展,其他任何類型都可以被擴展,所以這種靈活性大多數時候也會有一些性能損耗。

      有時候,拘泥於單繼承體系,也會使程序受限太多。如果一個方法的參數是一個接口而不是一個類,這種限制就放鬆了許多。因爲任何實現了該接口的類都能夠滿足該方法,這也包括暫時還不存在的類。這就給予客戶程序員一種選擇,他可以通過實現一個接口類滿足類或方法。因此,接口運行我們快捷的實現類的繼承,也使我們有機會創建一個新類來做到這一點。

      可是有的時候,即便使用了接口,對程序的約束也還是太強了。因爲一旦指明瞭接口,它就要求你的代碼必須使用特定的接口。而我們希望達到的目的是編寫更通用的代碼,要使代碼能夠應用於“某種不具體的類型”,而不是一個具體的接口或類。

      泛型的概念。泛型實現了參數化類型的概念,是代碼可以應用於多種類型。“泛型”這個術語的意思是:“適用於許多許多的類型”。泛型的出現其最初的目的是希望類或方法能夠具備最廣泛的表達能力。

 http://www.open-open.com/lib/view/open1353144198545.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章