PHP简单装饰器模式实现与用法示例
发布时间 - 2026-01-11 02:00:08 点击率:次本文实例讲述了PHP简单装饰器模式实现与用法。分享给大家供大家参考,具体如下:
<?php
//装饰器模式-在不改变原有类的结构上,对类的功能那个作补充
//武器基类
abstract class Weapon{
abstract public function descriptions();
abstract public function cost();
}
//剑类
class Glave extends Weapon{
public function descriptions(){
return 'Glave';
}
public function cost(){
return "100";
}
}
//匕首类
class Knife extends Weapon{
public function descriptions(){
return __CLASS__;
}
public function cost(){
return "80";
}
}
//斧类
class Axe extends Weapon{
public function descriptions(){
return __CLASS__;
}
public function cost(){
return "200";
}
}
//属性类
class Property extends Weapon{
protected $_weapon = null;
protected $_price = 0;
protected $_descriptions = '';
public function __construct(Weapon $weapon){
$this->_weapon = $weapon;
}
public function cost(){
return $this->_weapon->cost() + $this->_price;
}
public function descriptions(){
return $this->_weapon->descriptions().$this->_descriptions;
}
}
//力量属性
class Strength extends Property{
protected $_price = 30;
protected $_descriptions = '+ Strength';
}
//敏捷属性
class Agility extends Property{
protected $_price = 50;
protected $_descriptions = '+ Agility';
}
//智力属性
class Intellect extends Property{
protected $_price = 20;
protected $_descriptions = '+ Intellect';
}
$weapon = new Agility(new Strength(new Strength(new Glave())));
echo $weapon->cost();
echo $weapon->descriptions();
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# 装饰器模式
# PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
# PHP设计模式之装饰器模式定义与用法简单示例
# PHP设计模式之装饰器模式定义与用法详解
# PHP设计模式之装饰器模式实例详解
# 学习php设计模式 php实现装饰器模式(decorator)
# PHP结构型模式之装饰器模式
# 程序设计
# 操作技巧
# 相关内容
# 感兴趣
# 给大家
# 更多关于
# 所述
# 面向对象
# 不改变
# 编程技巧
# 讲述了
# descriptions
# cost
# function
# Weapon
# public
# return
# extends
# 剑类
# Glave
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何快速搭建支持数据库操作的智能建站平台?
在centOS 7安装mysql 5.7的详细教程
如何在Windows服务器上快速搭建网站?
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
中国移动官方网站首页入口 中国移动官网网页登录
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
公司网站制作需要多少钱,找人做公司网站需要多少钱?
米侠浏览器网页背景异常怎么办 米侠显示修复
Laravel如何配置和使用缓存?(Redis代码示例)
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
JS碰撞运动实现方法详解
如何制作一个表白网站视频,关于勇敢表白的小标题?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
做企业网站制作流程,企业网站制作基本流程有哪些?
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
网站建设要注意的标准 促进网站用户好感度!
网站制作壁纸教程视频,电脑壁纸网站?
Laravel中的Facade(门面)到底是什么原理
高端智能建站公司优选:品牌定制与SEO优化一站式服务
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
教你用AI将一段旋律扩展成一首完整的曲子
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
晋江文学城电脑版官网 晋江文学城网页版直接进入
想要更高端的建设网站,这些原则一定要坚持!
Windows Hello人脸识别突然无法使用
郑州企业网站制作公司,郑州招聘网站有哪些?
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
bing浏览器学术搜索入口_bing学术文献检索地址
三星网站视频制作教程下载,三星w23网页如何全屏?
PythonWeb开发入门教程_Flask快速构建Web应用
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
大连 网站制作,大连天途有线官网?
Python并发异常传播_错误处理解析【教程】
免费网站制作appp,免费制作app哪个平台好?
如何在云主机上快速搭建网站?
nodejs redis 发布订阅机制封装实现方法及实例代码
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何快速打造个性化非模板自助建站?
php静态变量怎么调试_php静态变量作用域调试技巧【解答】

