php 裝飾模式

2021-07-02 18:16:53 字數 1175 閱讀 9695

裝飾模式之變形金剛

(1)抽象構建類tansform

inte***ce transform

(2)具體構建類car

final class car implements transform

public function move()

}

(3)抽象裝飾類changer

class changer implements transform

public function move()

}

(4)具體裝飾類root,airplane

class root extends changer

public function say()

}class airplane extends changer

public function fly()

}

(5)測試**

$camaro = new car();

echo '

';$camaro->move();

echo '

';echo '-----------';

echo '

';$bumblebee = new airplane($camaro);

echo '

';$bumblebee->move();

echo '

';$bumblebee->fly();

echo '

';echo '-----------';

echo '

';$bumblebee = new root($camaro);

echo '

';$bumblebee->move();

echo '

';$bumblebee->say();

變形金剛是一輛汽車

在陸地上移動

-----------

變成機飛機

在陸地上移動

在天空飛翔

-----------

變成機械人

在陸地上移動

說話

php 裝飾模式

裝飾模式 英文 decorator pattern 又叫裝飾者模式。裝飾模式是在不必改變原類檔案和使用繼承的情況下,動態的擴充套件乙個物件的功能。比繼承更加靈活,功能定義如果完全依賴於繼承體系,會導致類的數量和層次過多,不好控制而且產生重複。區域類 author li.yonghuan versio...

php 裝飾器模式

1.裝飾器 裝飾器的作用 可以給動態物件包裝成靜態的類 在外部給物件新增功能 降低類與類之間的依賴 耦合 實質是轉移依賴,呼叫類與實現類之間的依賴 呼叫類與裝飾器之間的依賴 裝飾器相對穩定,故當實現類功能改變,只需修改裝飾器的內容。其實我覺得就是乙個介面吧,通過介面呼叫實質執行的類。ps 裝飾器可以...

PHP 裝飾器模式

裝飾器模式 如果已有物件的部分內容或功能性發生改變,但是不需要修改原始物件的結構或不使用繼承,動態的擴充套件乙個物件的功能,則應該使用裝飾器模式。簡單點說 就是我們不應該去修改已有的類,而是通過建立另外乙個裝飾器類,通過這個裝飾器類去動態的擴充套件其需要修改的內容,這樣做的好處就是 1 我們可以保證...