Java策略模式_第1頁
Java策略模式_第2頁
Java策略模式_第3頁
Java策略模式_第4頁
Java策略模式_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、對Java策略模式的理解主要是通過一個實例來理解:封裝商場鞋子的打折策略。分析:商場鞋子打折活動,我們簡單概括為雙休打折和節日打折(其他 特定日打折自己寫)。雙休打折和節日打折這 2類打折活動的具體規則 一般都不會一樣,通過封裝打折策略,來增強程序的可擴展性。也就是 說,下次商場有其他的 打折策略時,只需添加一個該 打折策略的類即可,實現對原來代碼修改量最少,符合開閉的原則。代碼:1. Shoe.java 文件:Public class Shoe implements IShopCutprivatedouble value;p ublicShoe( double value) this.val

2、ue = value;p ublicdouble getValue() retur nvalue;p ublicvoid setValue( double cut price) this .value = cut price;Overridepublicdouble shopCut() return new FestivalCut() .cut( this );2. ISho pCut.java文件p ublicin terface ISho pCut double shopCut();3.雙休日打折 WeekendCut.java 文件:public class WeekendCut p r

3、ivatedouble cut price;publicdouble getCutpriceO return cut price;publicdouble cut(Shoe s)if (s.getValue() > 300 )cut price = s.getValue()*80/100;else if (s.getValue() > 200 )cut price = s.getValue()*85/100;else if (s.getValue() > 150 )cut price = s.getValue()*95/100;elsecut price = s.getVal

4、ue();s.setValue(cut price);return cut price;4.節日打折 FestivalCut.java 文件:publicclass FestivalCut p rivatedouble cut price;publicdouble getCutprice() return cut price;publicdouble cut(Shoe s)if (s.getValue() > 1000 )cut price = s.getValue()*60/100;else if (s.getValue() > 500 )cut price = s.getVal

5、ue()*85/100;else if (s.getValue() > 300 )cut price = s.getValue()*95/100;elsecut price = s.getValue();s.setValue(cut price);return cut price;5.客戶端測試代碼Test.java文件:publicclass Test Publicstatic void main(String args) System. out .println(”打折前的價格:” + price);double price = 360;Shoe sh = new Shoe( price);p rice = sh.sho pCut();System. out .println(”打折后的價格:” + price);注:整個程序修改部分只是在Shoe.java文

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論