电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

php設(shè)計模式之適配器模式實例分析【星際爭霸游戲案例】

瀏覽:129日期:2022-09-10 18:43:10

本文實例講述了php設(shè)計模式之適配器模式。分享給大家供大家參考,具體如下:

星際的很多兵種,都有至少一項特殊技能。而且有些兵種的技能是相同的,比如蟲族部隊都會恢復(fù)血。

如果按照一般的思路,把技能的操作和控制作為方法,放在每個兵種的定義類來實現(xiàn),代碼會重復(fù),也不容易修改。

那我們就會考慮用繼承的辦法,比如我們可以設(shè)計一個蟲族的基類,里面有受傷后血恢復(fù)的方法。

在設(shè)計刺蛇(Hydralisk,口水兵)的時候,我們可以讓刺蛇類繼承蟲族基類。

但是刺蛇是可以研發(fā)鉆地的,而鉆地不是刺蛇獨有的功能,是蟲族地面部隊都有的特點,我們也要把鉆地作為公共基類。

問題出來了,我們不能同時讓刺蛇類繼承兩個類,這是php不允許的。

待解決的問題:如何混合重用兩個類,

思路:繼承一個類,把新建其中一個類的對象作為屬性,然后通過這個屬性來調(diào)用第二個類的方法。

適配器(Adapter)模式示例:

<?php //蟲族基類 class Zerg { //血 public $blood; //恢復(fù)血的方法 public function restoreBlood() { //自動逐漸恢復(fù)兵種的血 } } //鉆地的類 class Burrow { //鉆地的方法 public function burrowOperation() { //鉆地的動作,隱形等等 echo ’我鉆地了’; } } //刺蛇的類 class Hydralisk extends Zerg { //把一個屬性來存放鉆地對象 public $burrow; //構(gòu)造方法,因為php不允許默認(rèn)值采用對象,所以通過初始化賦值給$burrow public function __construct() { $this->burrow=new Burrow(); } //鉆地的方法 public function burrowOperation() { //調(diào)用鉆地屬性存放的對象,使用鉆地類的方法 $this->burrow->burrowOperation(); } } //制造一個刺蛇 $h1 = new Hydralisk(); //讓他鉆地 $h1->burrowOperation(); //運(yùn)行輸出:我鉆地了?>

用途總結(jié):適配器模式使得一個類可以同時使用兩個基礎(chǔ)類的功能,跳出了單純繼承的限制。有效的重用多各類。

實現(xiàn)總結(jié):讓新的類去繼承一個基礎(chǔ)類,然后通過新類的屬性來存放其他類的對象,通過這些對象來調(diào)用其他類的方法.

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計有所幫助。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 雨燕360体育免费直播_雨燕360免费NBA直播_NBA篮球高清直播无插件-雨燕360体育直播 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 武汉森源蓝天环境科技工程有限公司-为环境污染治理提供协同解决方案 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 粒米特测控技术(上海)有限公司-测功机_减速机测试台_电机测试台 | 紧急泄压人孔_防爆阻火器_阻火呼吸阀[河北宏泽石化] | 盘式曝气器-微孔曝气器-管式曝气器-曝气盘-斜管填料 | 郑州市前程水处理有限公司 | 打孔器,打孔钳厂家【温州新星德牌五金工具】 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 航空连接器,航空插头,航空插座,航空接插件,航插_深圳鸿万科 | 建筑资质代办-建筑资质转让找上海国信启航 | 盛源真空泵|空压机-浙江盛源空压机制造有限公司-【盛源官网】 | 茅茅虫AI论文写作助手-免费AIGC论文查重_写毕业论文降重 | 包装机_厂家_价格-山东包装机有限公司 | ORP控制器_ORP电极价格-上优泰百科 | 建筑资质代办_工程施工资质办理_资质代办公司_北京众聚企服 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 安徽千住锡膏_安徽阿尔法锡膏锡条_安徽唯特偶锡膏_卡夫特胶水-芜湖荣亮电子科技有限公司 | 防火窗_耐火窗_防火门厂家_防火卷帘门-重庆三乐门业有限公司 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 内六角扳手「厂家」-温州市威豪五金工具有限公司 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | SDI车窗夹力测试仪-KEMKRAFT方向盘测试仪-上海爱泽工业设备有限公司 | 卸料器-卸灰阀-卸料阀-瑞安市天蓝环保设备有限公司 | 深圳法律咨询【24小时在线】深圳律师咨询免费 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 四川实木门_成都实木门 - 蓬溪聚成门业有限公司 | 耐压仪-高压耐压仪|徐吉电气 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 宁夏活性炭_防护活性炭_催化剂载体炭-宁夏恒辉活性炭有限公司 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 水轮机密封网 | 水轮机密封产品研发生产厂家 | 广州昊至泉水上乐园设备有限公司 |