装饰器模式 秒速五厘米 2022-06-16 00:00 185阅读 0赞 1 <?php 2 //装饰器模式-在不改变原有类的结构上,对类的功能那个作补充 3 4 //武器基类 5 abstract class Weapon{ 6 abstract public function descriptions(); 7 abstract public function cost(); 8 } 9 10 //剑类 11 class Glave extends Weapon{ 12 public function descriptions(){ 13 return 'Glave'; 14 } 15 16 public function cost(){ 17 return "100"; 18 } 19 } 20 21 //匕首类 22 class Knife extends Weapon{ 23 public function descriptions(){ 24 return __CLASS__; 25 } 26 public function cost(){ 27 return "80"; 28 } 29 } 30 31 //斧类 32 class Axe extends Weapon{ 33 public function descriptions(){ 34 return __CLASS__; 35 } 36 public function cost(){ 37 return "200"; 38 } 39 } 40 41 //属性类 42 class Property extends Weapon{ 43 protected $_weapon = null; 44 protected $_price = 0; 45 protected $_descriptions = ''; 46 public function __construct(Weapon $weapon){ 47 $this->_weapon = $weapon; 48 } 49 public function cost(){ 50 return $this->_weapon->cost() + $this->_price; 51 } 52 53 public function descriptions(){ 54 return $this->_weapon->descriptions().$this->_descriptions; 55 } 56 } 57 58 //力量属性 59 class Strength extends Property{ 60 protected $_price = 30; 61 protected $_descriptions = '+ Strength'; 62 } 63 64 //敏捷属性 65 class Agility extends Property{ 66 protected $_price = 50; 67 protected $_descriptions = '+ Agility'; 68 } 69 70 //智力属性 71 class Intellect extends Property{ 72 protected $_price = 20; 73 protected $_descriptions = '+ Intellect'; 74 } 75 76 $weapon = new Agility(new Strength(new Strength(new Glave()))); 77 echo $weapon->cost(); 78 echo $weapon->descriptions();
相关 装饰器模式 装饰器模式就是一种通过组合方式实现扩展的设计模式,装饰器的核心思想是为已有实现类创建多个包装类,由这些新增的包装类完成新需求的扩展。 装饰器模 以你之姓@/ 2022年09月10日 08:18/ 0 赞/ 32 阅读
相关 装饰器模式 装饰器模式 <?php class BaseArticle{ protected $art = null; protected 我会带着你远行/ 2022年07月21日 01:28/ 0 赞/ 197 阅读
相关 装饰器模式 1 <?php 2 //装饰器模式-在不改变原有类的结构上,对类的功能那个作补充 3 4 //武器基类 5 abstract 秒速五厘米/ 2022年06月16日 00:00/ 0 赞/ 186 阅读
相关 装饰器模式 在学装饰器模式的时候,我想到了责任链模式中的级别这个概念,为什么这么说,在一个OA系统中我们会有不同级别(或者说权限范围不同)的管理员,首先我们要明确不同级别的管理员它也是管理 深碍√TFBOYSˉ_/ 2022年05月08日 06:14/ 0 赞/ 207 阅读
相关 装饰器模式 1、初识装饰器模式 装饰器模式,顾名思义,就是对已经存在的某些类进行装饰,以此来扩展一些功能。其结构图如下: ![watermark_type_ZmFuZ3poZW 小鱼儿/ 2022年04月24日 08:50/ 0 赞/ 233 阅读
相关 装饰器模式 ![Fpm6gbuGrUYHxqlnbEc-syPtY1Y3][] 什么是装饰器? 装饰器设计模式 > 装饰器模式(Decorator Pattern)允许向一个现有 ╰半橙微兮°/ 2022年04月21日 22:36/ 0 赞/ 215 阅读
相关 装饰器模式 一、基类 ![ContractedBlock.gif][] ![ExpandedBlockStart.gif][] /----------------------- £神魔★判官ぃ/ 2021年09月30日 08:42/ 0 赞/ 351 阅读
相关 装饰器模式 7.装饰器模式 ![70][] ![70 1][] class Program { static void Main( 拼搏现实的明天。/ 2021年09月16日 23:56/ 0 赞/ 321 阅读
相关 装饰器模式 ![5057999-ef364c6262961125.png][] image.png 意图: 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模 超、凢脫俗/ 2021年09月12日 02:16/ 0 赞/ 356 阅读
相关 装饰器模式 饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种... 小灰灰/ 2020年06月13日 05:56/ 0 赞/ 761 阅读
还没有评论,来说两句吧...