下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第PHP設(shè)計模式之組合模式定義與應(yīng)用示例
本文實例講述了PHP設(shè)計模式之組合模式定義與應(yīng)用。分享給大家供大家參考,具體如下:
php
*組合模式
*將對象組合成樹形結(jié)構(gòu)以表示部分-整體的層次結(jié)構(gòu),使得客戶對單個對象和復(fù)合對象的使用具有一致性
abstractclassMenuComponent
publicfunctionadd($component)
publicfunctionremove($component)
publicfunctiongetName()
publicfunctiongetUrl()
publicfunctiondisplay()
classMenuextendsMenuComponent
private$_items=array();
private$_name=null;
publicfunction__construct($name)
$this-_name=$name;
publicfunctionadd($component)
$this-_items[]=$component;
publicfunctionremove($component)
$key=array_search($component,$this-_items);
if($key!==false)unset($this-_items[$key]);
publicfunctiondisplay()
echo--.$this-_name.---------rn
foreach($this-_itemsas$item){
$item-display();
classItemextendsMenuComponent
private$_name=null;
private$_url=null;
publicfunction__construct($name,$url)
$this-_name=$name;
$this-_url=$url;
publicfunctiondisplay()
echo$this-_name.#.$this-_url.rn
classClient
private$_menu=null;
publicfunction__construct($menu)
$this-_menu=$menu;
publicfunctionsetMenu($menu)
$this-_menu=$menu;
publicfunctiondisplayMenu()
$this-_menu-display();
//實例一下
$item3=newItem(bAIdu,
$item4=newItem(google,
$item1=newItem(163,
$item2=newItem(sina,
//班級
$subMenu1=newMenu(submenu1
$subMenu1-add($item1);
$subMenu1-add($item2);
$subMenu2=newMenu(submenu2
$subMenu2-add($item3);
$subMenu2-add($item4);
$subMenu3=newMenu(submenu3
$subMenu3-add($item3);
$subMenu3-add($item4);
//所有班級
$allMenu=newMenu(AllMenu
$allMenu-add($subMenu1);
$allMenu-add($subMenu2);
$allMenu-add($subMenu3);
//打印所有班級
$objClient=newClient($allMenu);
$objClient-displayMenu();
//打印第2班級
$objClient-setMenu($subMenu2);
$objClient-displayMenu();
運行結(jié)果:
--AllMenu---------
--submenu1---------
163#
sina#
--submenu2---------
baidu#
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 砌筑工試卷及答案
- 2025年許昌市某國有企業(yè)公開招聘備考題庫參考答案詳解
- 2025年通遼市科爾沁區(qū)第四人民醫(yī)院??漆t(yī)師招聘19人備考題庫參考答案詳解
- 安全生產(chǎn)宣傳詩句講解
- 文科美術(shù)生就業(yè)前景分析
- 班級文藝匯演課件
- 安全風(fēng)險分級管控與事故隱患排查治理講義
- 2025年虛擬電廠聚合技術(shù)對智能電網(wǎng)升級改造的影響報告
- 醫(yī)患關(guān)系和諧促進因素
- 2025年新型環(huán)保涂料技術(shù)創(chuàng)新報告
- 2025永豐街道平安工作服務(wù)站工作人員招聘7人模擬筆試試題及答案解析
- 2025西部科學(xué)城重慶高新區(qū)人才緊缺招聘35人筆試考試備考題庫及答案解析
- 2025云南省人民檢察院招聘22人筆試考試參考題庫及答案解析
- 2025年慢性阻塞性肺病藥物使用規(guī)范答案及解析
- 分享五年級語文英才教程電子版
- 超星爾雅學(xué)習(xí)通《文獻信息檢索與利用(成都航空職業(yè)技術(shù)學(xué)院)》2024章節(jié)測試答案
- 21 小圣施威降大圣
- 大國三農(nóng)-輝煌成就版智慧樹知到期末考試答案章節(jié)答案2024年中國農(nóng)業(yè)大學(xué)
- DL-T 2582.1-2022 水電站公用輔助設(shè)備運行規(guī)程 第1部分:油系統(tǒng)
- 鼓室成形術(shù)后操作后并發(fā)癥的護理課件
- 六人小品劇本搞笑校園范文(通用3篇)
評論
0/150
提交評論