介绍
本篇文章为大家展示了如何在PHP中实现一个装饰器模式,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
具体如下:
& lt; PHP ?//装饰器模式,在不改变原有类的结构上,对类的功能那个作补充//武器基类 {abstract class 武器 abstract 才能;public  function 描述(); abstract 才能;public  function 成本(); }//剑类 {class Glave  extends 武器 public 才能;function 描述(){ ,,,return & # 39;剑# 39;; ,,} public 才能;function 成本(){ ,,,return “100“;; ,,} }//匕首类 {class Knife  extends 武器 public 才能;function 描述(){ ,,,return __CLASS__进行; ,,} public 才能;function 成本(){ ,,,return “80“;; ,,} }//斧类 {class Axe  extends 武器 public 才能;function 描述(){ ,,,return __CLASS__进行; ,,} public 才能;function 成本(){ ,,,return “200“;; ,,} }//属性类 {class Property  extends 武器 protected 才能;_weapon 美元;=,空; protected 才能;_price 美元;=,0; protected 才能;_descriptions 美元;=,& # 39;& # 39;; public 才能;function  __construct (Weapon 武器美元){ ,,,这个→美元_weapon =,美元的武器; ,,} public 才能;function 成本(){ ,,,return ,, $ this→_weapon→成本(),+,$ this→_price; ,,} public 才能;function 描述(){ ,,,return $ this→_weapon→描述()。这个→美元_descriptions; ,,} }//力量属性 class Strength  extends 财产{ protected 才能;_price 美元;=,30; protected 才能;_descriptions 美元;=,& # 39;+,力量# 39;; }//敏捷属性 class Agility  extends 财产{ protected 才能;_price 美元;=,50; protected 才能;_descriptions 美元;=,& # 39;+,敏捷性# 39;; }//智力属性 class Intellect  extends 财产{ protected 才能;_price 美元;=,20; protected 才能;_descriptions 美元;=,& # 39;+,智慧# 39;; } $ weapon =, new 敏捷(new 强度(new 强度(new 剑()))); echo 武器→美元成本(); echo 武器→美元描述();