首頁 後端開發 php教程 php 裝飾模式

php 裝飾模式

Aug 08, 2016 am 09:23 AM
echo function public

裝飾模式之變形金剛

(1)抽象構建類Tansform

interface Transform
{
	public function move();
}
登入後複製

(2)具體構建類Car

final class Car implements Transform
{
	public function __construct() {
		echo '变形金刚是一辆汽车';
	}
	public function move() {
		echo '在陆地上移动';
	}
}
登入後複製
(3)抽象裝飾類Changer

class Changer implements Transform
{
	private $transform;
	public function __construct($tansform='') {
		$this->transform = $tansform;
	}
	public function move() {
		$this->transform->move();
	}
}
登入後複製
(4)具體裝飾類別Root,Airplane

class Root extends Changer
{
	public function __construct($tansform='') {
		parent::__construct($tansform);
		echo '变成机器人';
	}
	public function say() {
		echo '说话';
	}
}
class Airplane extends Changer
{
	public function __construct($tansform='') {
		parent::__construct($tansform);
		echo '变成机飞机';
	}
	public function fly() 
	{
		echo '在天空飞翔';
	}
}
登入後複製

(5)測試代碼

$camaro = new Car();
echo '<br>';
$camaro->move();
echo '<br>';
echo '-----------';
echo '<br>';

$bumblebee = new Airplane($camaro);
echo '<br>';
$bumblebee->move();
echo '<br>';
$bumblebee->fly();

echo '<br>';
echo '-----------';
echo '<br>';

$bumblebee = new Root($camaro);
echo '<br>';
$bumblebee->move();
echo '<br>';
$bumblebee->say();
登入後複製


變形金剛是一輛汽車
在陸地上移動
------------
在陸地上移動
在天空飛翔
-----------
變成機器人
在陸地上移動說話
變成機器人
以上就介紹了php 裝飾模式,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

function是什麼意思 function是什麼意思 Aug 04, 2023 am 10:33 AM

function是什麼意思

iOS的developer版和public版有什麼不同? iOS的developer版和public版有什麼不同? Mar 01, 2024 pm 12:55 PM

iOS的developer版和public版有什麼不同?

五個精選的Go語言開源項目,帶你探索科技世界 五個精選的Go語言開源項目,帶你探索科技世界 Jan 30, 2024 am 09:08 AM

五個精選的Go語言開源項目,帶你探索科技世界

Go語言開發必備:5個熱門框架推薦 Go語言開發必備:5個熱門框架推薦 Mar 24, 2024 pm 01:15 PM

Go語言開發必備:5個熱門框架推薦

使用Golang的Web框架Echo框架實現分散式任務調度 使用Golang的Web框架Echo框架實現分散式任務調度 Jun 24, 2023 am 11:49 AM

使用Golang的Web框架Echo框架實現分散式任務調度

Laravel開發:如何使用Laravel Echo和Pusher實現WebSockets通訊? Laravel開發:如何使用Laravel Echo和Pusher實現WebSockets通訊? Jun 13, 2023 pm 05:01 PM

Laravel開發:如何使用Laravel Echo和Pusher實現WebSockets通訊?

MySQL.proc表的作用與功能詳解 MySQL.proc表的作用與功能詳解 Mar 16, 2024 am 09:03 AM

MySQL.proc表的作用與功能詳解

'enumerate()'函數在Python中的用途是什麼? 'enumerate()'函數在Python中的用途是什麼? Sep 01, 2023 am 11:29 AM

'enumerate()'函數在Python中的用途是什麼?

See all articles