欢迎来到天天文库
浏览记录
ID:30777608
大小:99.50 KB
页数:6页
时间:2019-01-03
《php面向对象程序设计组合模式与装饰模式详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PHP面向对象程序设计组合模式与装饰模式详解这篇文章主要介绍了PHP面向对象程序设计组合模式与装饰模式,结合实例形式详细分析了php组合模式与装饰模式的定义、功能、使用方法与相关注意事项,需要的朋友可以参考下本文实例讲述了PHP面向对象程序设计组合模式与装饰模式。分享给大家供大家参考,具体如下:组合模式定义:组合模式定义了一个单根继承体系,使具有截然不同职责的集合可以并肩工作。一个军队的案例,
2、rextendsUnit{//弓箭手functionbombardStrengthf){return4;}}classLaserCannonUnitextendsUnit{//火炮手functionbombardStrength(){return44;}}?>军队整合成员,输出火力
3、nnonUnitextendsUnit{functionbombardStrength(){return44;}}classArmy{//军队private$units=array();//定义私有属性个体集functionaddUnitfUnit$unit){〃添加成员array_push($this->units,$unit);}functionbombardStrengthf){//火力$ret=0;foreach($this->unitsas$unit){$ret+=$unit->bombardStrength();}retu
4、rn$ret;}}$unitl=newArcher();$unit2=newLaserCannonUnit();$army=newArmy();$army->addUnit($unitl);$army->addUnit($unit2);print$army->bombardStrength();//输出火力?〉output:48军队进一步整合其他军队
5、rdStrength(){return4;}}classLaserCannonUnitextendsUnit{functionbombardStrength(){return44;}}classArmy{private$units=array();private$armies=array));functionaddUnit(Unit$unit){array_push($this->units,$unit);}functionaddArmyfArmy$army){array_push($this->armies,$army);}func
6、tionbombardStrength(){$ret=0;foreach($this->unitsas$unit){$ret+=$unit->bombardStrength();}foreach($this->armiesas$army){$ret+=$army->bombardStrength();}return$ret;}}$unitl=newArcher();$unit2=newLaserCannonUnit();$army=newArmy();$army->addUnit($unitl);$army->addUnit($uni
7、t2);print$army->bombardStrength();print,l,,;$army2=clone$army;//克隆军队$army->addArmy($army2);print$army->bombardStrength();print"rf';?>output:4896更好的方式,支持新增,移除等等其他功能。
8、tfunctionbombardStrength();}classArmyextendsUnit{//军队private$units=array();functionaddUnit(Unit$unit){if(in_ar
此文档下载收益归作者所有