复制代 代码如下:
/**
* 結合モード
*
* オブジェクトをツリー構造に結合して「部分全体」の階層を表現し、顧客が単一オブジェクトと複合オブジェクトを一貫して使用できるようにします
*/
抽象クラス MenuComponent
{
パブリック関数 add($component){}
パブリック関数 Remove($component){}
パブリック関数 getName(){}
パブリック関数 getUrl(){}
public function display(){}
}
class Menu extends MenuComponent
{
private $_items = array();
プライベート $_name = null;
パブリック関数 __construct($name)
{
$this->_name = $name;
}
public function add($component)
{
$this->_items[] = $component;
}
public function delete($component)
{
$key = array_search($component,$this->_items);
if($key !== false) unset($this->_items[$key]);
}
public function display()
{
echo "-- ".$this->_name." ---------
";
foreach($this->_items as $item)
{
$item->display();
}
}
}
classItem extends MenuComponent
{
private $_name = null;
プライベート $_url = null;
パブリック関数 __construct($name,$url)
{
$this->_name = $name;
$this->_url = $url;
}
public function display()
{
echo $this->_name."#".$this->_url."
";
}
}
クラス クライアント
{
private $_menu = null;
パブリック関数 __construct($menu)
{
$this->_menu = $menu;
}
パブリック関数 setMenu($menu)
{
$this->_menu = $menu;
}
パブリック関数 displayMenu()
{
$this->_menu->display();
}
}
// 实例一下
// 创建menu
$subMenu1 = new Menu("sub menu1");
$subMenu2 = 新しいメニュー("サブメニュー2");
$subMenu3 = 新しいメニュー("サブメニュー3");
$item1 = 新しいアイテム("163","www.163.com");
$item2 = 新しいアイテム("sina","www.sina.com");
$subMenu1->add($item1);
$subMenu1->add($item2);
$item3 = 新しいアイテム("baidu","www.baidu.com");
$item4 = 新しいアイテム("google","www.google.com");
$subMenu2->add($item3);
$subMenu2->add($item4);
$allMenu = new Menu("すべてのメニュー");
$allMenu->add($subMenu1);
$allMenu->add($subMenu2);
$allMenu->add($subMenu3);
$objClient = 新しいクライアント($allMenu);
$objClient->displayMenu();
$objClient->setMenu($subMenu2);
$objClient->displayMenu();

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

WebStorm Mac版
便利なJavaScript開発ツール
