• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php设计模式之适配器模式实例分析【星际争霸游戏案例】

    本文实例讲述了php设计模式之适配器模式。分享给大家供大家参考,具体如下:

    星际的很多兵种,都有至少一项特殊技能。而且有些兵种的技能是相同的,比如虫族部队都会恢复血。

    如果按照一般的思路,把技能的操作和控制作为方法,放在每个兵种的定义类来实现,代码会重复,也不容易修改。

    那我们就会考虑用继承的办法,比如我们可以设计一个虫族的基类,里面有受伤后血恢复的方法。

    在设计刺蛇(Hydralisk,口水兵)的时候,我们可以让刺蛇类继承虫族基类。

    但是刺蛇是可以研发钻地的,而钻地不是刺蛇独有的功能,是虫族地面部队都有的特点,我们也要把钻地作为公共基类。

    问题出来了,我们不能同时让刺蛇类继承两个类,这是php不允许的。

    待解决的问题:如何混合重用两个类,

    思路:继承一个类,把新建其中一个类的对象作为属性,然后通过这个属性来调用第二个类的方法。

    适配器(Adapter)模式示例:

    ?php
      //虫族基类
      class Zerg
      {
        //血
        public $blood;
    
        //恢复血的方法
        public function restoreBlood()
        {
          //自动逐渐恢复兵种的血
        }
      }
    
      //钻地的类
      class Burrow
      {
        //钻地的方法
        public function burrowOperation()
        {
          //钻地的动作,隐形等等
          echo '我钻地了';
        }
      }
    
      //刺蛇的类
      class Hydralisk extends Zerg
      {
        //把一个属性来存放钻地对象
        public $burrow;
    
        //构造方法,因为php不允许默认值采用对象,所以通过初始化赋值给$burrow
        public function __construct()
        {
          $this->burrow=new Burrow();
        }
    
        //钻地的方法
        public function burrowOperation()
        {
          //调用钻地属性存放的对象,使用钻地类的方法
          $this->burrow->burrowOperation();
        }
      }
    
      //制造一个刺蛇
      $h1 = new Hydralisk();
    
      //让他钻地
      $h1->burrowOperation();
    
      //运行输出:我钻地了
    
    ?>
    
    

    用途总结:适配器模式使得一个类可以同时使用两个基础类的功能,跳出了单纯继承的限制。有效的重用多各类。

    实现总结:让新的类去继承一个基础类,然后通过新类的属性来存放其他类的对象,通过这些对象来调用其他类的方法.

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP设计模式之原型模式示例详解
    • PHP设计模式之命令模式示例详解
    • PHP设计模式(四)原型模式Prototype实例详解【创建型】
    • PHP设计模式(三)建造者模式Builder实例详解【创建型】
    • PHP设计模式(一)工厂模式Factory实例详解【创建型】
    • PHP设计模式概论【概念、分类、原则等】
    • PHP设计模式之 策略模式Strategy详解【对象行为型】
    • PHP设计模式入门之状态模式原理与实现方法分析
    • PHP设计模式入门之迭代器模式原理与实现方法分析
    • PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
    • php设计模式之迭代器模式实例分析【星际争霸游戏案例】
    • 详解PHP八大设计模式
    上一篇:php设计模式之迭代器模式实例分析【星际争霸游戏案例】
    下一篇:Yii框架多语言站点配置方法分析【中文/英文切换站点】
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php设计模式之适配器模式实例分析【星际争霸游戏案例】 php,设计模式,之,适配器,