国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

PHP設(shè)計(jì)模式之裝!飾者模式代碼實(shí)例

2019-11-02 15:38:22
字體:
供稿:網(wǎng)友

   這篇文章主要介紹了PHP設(shè)計(jì)模式之裝飾者模式代碼實(shí)例,裝飾者模式就是不修改原類代碼和繼承的情況下動(dòng)態(tài)擴(kuò)展類的功能,本文就給出了代碼實(shí)例,需要的朋友可以參考下

  定義:

  裝飾者模式就是不修改原類代碼和繼承的情況下動(dòng)態(tài)擴(kuò)展類的功能。傳統(tǒng)的編程模式都是子類繼承父類實(shí)現(xiàn)方法重載,使用裝飾器模式,只需添加一個(gè)新的裝飾器對象,更加靈活,避免類數(shù)量和層次過多。

  角色:

  Component(被裝飾對象基類)

  ConcreteComponent(具體被裝飾對象)

  Decorator(裝飾者基類)

  ContreteDecorator(具體的裝飾者類)

  示例代碼:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 //被裝飾者基類 interface Component { public function operation(); }   //裝飾者基類 abstract class Decorator implements Comp
童話村電影網(wǎng)[www.aikan.tv/special/tonghuacundianying/]
onent { protected $component;   public function __construct(Component $component) { $this->component = $component; }   public function operation() { $this->component->operation(); } }   //具體裝飾者類 class ConcreteComponent implements Component { public function operation() { echo 'do operation'.PHP_EOL; } }   //具體裝飾類A class ConcreteDecoratorA extends Decorator { public function __construct(Component $component) { parent::__construct($component);   }   public function operation() { parent::operation(); $this->addedOperationA(); // 新增加的操作 }   public function addedOperationA() { echo 'Add Operation A '.PHP_EOL; } }   //具體裝飾類B class ConcreteDecoratorB extends Decorator { public function __construct(Component $component) { parent::__construct($component);   }   public function operation() { parent::operation(); $this->addedOperationB(); }   public function addedOperationB() { echo 'Add Operation B '.PHP_EOL; } }     class Client {   public static function main() { /* do operation Add Operation A */ $decoratorA = new ConcreteDecoratorA(new ConcreteComponent()); $decoratorA->operation();     /* do operation Add Operation A Add Operation B */ $decoratorB = new ConcreteDecoratorB($decoratorA); $decoratorB->operation(); }   }   Client::main();
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永寿县| 阿城市| 塔河县| 曲阳县| 汾阳市| 临邑县| 常宁市| 开远市| 左权县| 土默特左旗| 泾川县| 读书| 达孜县| 永平县| 乡宁县| 家居| 当阳市| 佳木斯市| 屏东县| 河源市| 富川| 咸丰县| 南投县| 澜沧| 清苑县| 孙吴县| 西峡县| 辰溪县| 隆安县| 麻栗坡县| 元谋县| 叶城县| 温宿县| 巧家县| 长宁县| 巴彦淖尔市| 原平市| 保康县| 苍梧县| 壤塘县| 思南县|