文章詳情頁
java - 如何方便某個類在以后的拓展中比較方便的添加屬性?
瀏覽:196日期:2023-11-16 15:20:16
問題描述
假設(shè)有地圖上有一個醫(yī)院和公路兩個標(biāo)識,而這兩個標(biāo)識擁有屬于自己的屬性數(shù)據(jù):例如 醫(yī)院有等級、建筑物數(shù)量、病人數(shù)量,占地面積、名字等屬性;公路有名字、等級、長度、建成時間等屬性。 即不同類型的地圖標(biāo)識有不同的屬性數(shù)據(jù),同時也需要考慮將來還會添加新的屬性。請問大家,能否說一個大概的設(shè)計思路(只是靜態(tài)類圖的設(shè)計思路)? PS:我自己想的是通過裝飾者模式來實現(xiàn),但是那樣的話在以后的擴展中每當(dāng)添加一個屬性時就要對原來的類再進行一次裝飾,或者直接侵入原先設(shè)計好的類,添加屬性。
問題解答
回答1:haha ,為何不用Dictionary類型,比如說使用map來存儲鍵值對?
回答2:應(yīng)該要符合開閉原則,一個實體類創(chuàng)建好后最好不要做修改,使用繼承就可以了,在原來的屬性上增加新的屬性,但是又不破壞原來的結(jié)構(gòu)
回答3:對象組合優(yōu)先于繼承
標(biāo)簽:
java
上一條:java常用設(shè)計模式下一條:java - 打印電子面單
相關(guān)文章:
1. android - 美團篩選處篩選條件???條件點擊滑動到頂部。2. list - python 求助3. python3.x - python3.5使用pyinstaller打包報錯找不到libpython3.5mu.so.1.0等文件求解?4. python算法,如何優(yōu)雅的合并2個列表字典?5. python - def自定義函數(shù)的疑惑6. 請教: 關(guān)于 python 反斜杠轉(zhuǎn)義的疑問7. mysql優(yōu)化 - mysql like語句會導(dǎo)致全表掃描?8. javascript 如何下載一個excel文件 ?9. Python中, 仿照經(jīng)典代碼實現(xiàn)單例, 卻出現(xiàn)了不是單例的的狀態(tài), 代碼哪里出錯了 ?10. php由5.3升級到5.6后,登錄網(wǎng)站,返回的是php代碼,不是登錄界面,各位大神有知道的嗎?
排行榜

熱門標(biāo)簽