對於多個類型相似的操作,如何實現統一處理,簡化操作。
例如,現在由多個類定義,類定義中都包含客戶編號,但是缺少客戶名稱。
如果採用常規的方式,我對於需要展示客戶名稱的場景,需要對每個類的每個場景去處理,來根據客戶編號獲取客戶信息,並設置客戶名稱。
但是這種方式對存在很多的冗餘代碼。
這種情況就可以用泛型處理。
泛型中想要對屬性操作有兩種方式:1.通過繼承同一個基類。2.通過反射來操作屬性。
這裏我們可以直接通過繼承同一個基類的方式實現。
首先我們定義一個包含需要處理和使用的公共屬性的基類,這裏需要客戶編號和客戶名稱。
然後通過限定泛型extend 該基類來定義方法,處理邏輯即可。
代碼可參考如下:
public <T extends BaseFruit> T handle(T fruit){ return null; }