1.小王為某五星級酒店開發點餐系統。該酒店為滿足客戶需要,會在不同的時段提供多種不同的餐飲,其選單的結構圖如圖所示。
請你採用物件導向方法通過恰當的設計模式幫助小王對上述選單進行設計。
思路:選用組合模式:
適用於樹形結構,當容器物件(如資料夾)的某乙個方法被呼叫時,將遍歷整個樹形結構,尋找也包含這個方法的成員物件(可以是容器物件,也可以是葉子物件,如子資料夾和檔案)並呼叫執行。(遞迴呼叫)。
下面給出**設計思想示例:
選單:
public abstract class menu
public abstract void operat();//用來實現對不同節點的不同操作
/*此處**不完整,可新增其他容器物件和葉子物件的通用操作*/
}
子類菜品:
public class cook extends menu
@override
public void operat()
}
子選單:
public class classify extends menu
@override
public void operat()
}
完整**測試結果:
設計模式5
decorator模式 我覺得這個模式有點繞。需要很仔細的來分清其中的繼承關係。decorator模式的使用場景 當你要描述乙個東西,比如說 人 這個東西,你回構建乙個人的class,它包括很多人的屬性,比如身高,體重,性別,年齡等等,你還有很多的施加於 人 上面的方法,比如吃飯,睡覺,跑步等等。但...
設計模式(5)
這篇日誌我們來介紹設計模式的一大原則 單一職責原則 單一職責原則 srp 就乙個類而言,應該僅有乙個引起他變化的原因 現在來設計俄羅斯方塊遊戲 要是我們完成這個小遊戲,我們的思路是什麼?我們一般會這樣考慮,首先他方塊下落的原理是畫四個小方塊,擦掉,然後再在下一行畫四個方塊。不斷的繪出和擦掉就形成了動...
設計模式(5) 狀態模式
允許乙個物件在其內部狀態改變時改變它的行為。物件看起來似乎修改了它的類。它有兩種使用情況 1 乙個物件的行為取決於它的狀態,並且它必須在執行時刻根據狀態改變它的行為。2 乙個操作中含有龐大的多分支的條件語句,且這些分支依賴於該物件的狀態。比如乙個你和心愛的那個 在軟體構建過程中,某些物件的狀態如果改...