用穿越火线快速入门php面向对象

  1. <?php  
  2. /*  
  3. *用穿越火线快速入门php面向对象!  
  4. *php目前已经成为国内的主流web developer的首选开发语言,其强大的面向对象容易使初学者找不到思绪,一头雾水!  
  5. *,借助此文希望对初学者有所帮助,假设Crossfire用php来开发.  
  6. * 1类与对象  
  7. */ 
  8. class Crossfire  
  9. {  
  10.         public $Category='1,2,3'//枪械种类,3个选择武器类别  
  11.         public $Weapon='ak|awp|m4a1';//购买的武器,拥有的武器  
  12.         public $Flashlight=true;//是否购买闪光弹  
  13.         public $Bomb=false; //购买了闪光同等条件下不能再次购买手雷  
  14.         function attack()  
  15.         {  
  16.                 //攻击的代码 $this->Weapon;使用武器  
  17.     }  
  18.         function repair()  
  19.         {  
  20.                 //修理武器的代码  
  21.         }  
  22.         function destroy()  
  23.         {  
  24.                 //武器坏了自动销毁代码  
  25.         }  
  26.         /*  
  27.          * 我们把cf看成是一个类,cf里面有主武器,副武器,枪械,刀类,弹物,防弹衣,喷图等等..  
  28.          * 以上都是类中的成员属性,假如武器坏了,那么我们就得维修,维修就是类的成员方法!  
  29.          * 每种枪械都有不同的威力,不同的子弹数量,大小不同但是都是武器类,这是类和对象的关系(类的实例化结果就是对象)。  
  30.          *   
  31.          */ 
  32.           
  33.         function __construct()  
  34.         {  
  35.                 //武器维修 $this->repair();  
  36.         }  
  37.         function __destruct()  
  38.         {  
  39.                 //武器超过耐久自动消失 $this->destroy();  
  40.         }  
  41.         private function buy()  
  42.         {  
  43.                 //购买武器私有属性代码  
  44.         }  
  45.         private function __get()  
  46.         {  
  47.                 //调用购买的武器代码  
  48.         }  
  49.         private function __set()  
  50.         {  
  51.                 //给买的武器购买子弹数量代码  
  52.         }  
  53.         private function __isset()  
  54.         {  
  55.                 //检查钱数是够购买子弹数  
  56.          }  
  57.         private function __unset()  
  58.         {  
  59.                 //如果中途死亡自动掉落武器  
  60.         }  
  61. }  
  62. class role extends Crossfire   
  63. {  
  64.         //个人角色继承cf的属性,角色可以使用购买,销毁上面的物品  
  65.         function attack()  
  66.         {  
  67.                 Crossfire::attack();  
  68.                 $this->Weapon='awm-a';  
  69.                 //如果中途换枪,加入换枪的弹量,伤害!  
  70.         }  
  71.         final function vip()  
  72.         {  
  73.                 //购买vip,final关键字是禁止方法和属性继承!vip是需要money购买,所以因此不能被继承!  
  74.         }  
  75.           
  76.         public static $awm=100;//awm 伤害是固定的所以用静态  
  77.         public static function awm()  
  78.         {  
  79.          self::$awm;//awm攻击代码,self调用静态. 方法的重载  
  80.         }  
  81.         public function __toString()  
  82.         {  
  83.                 return $this->repair(); //自动返回武器维修的费用  
  84.         }  
  85. }  
  86. interface map  
  87. {  
  88.         //地图代码,一个子类只能继承一次父类,地图是每个玩家都要用的,显而意见继承是不能够满足需求的,接口为我们解决瓶颈!  
  89.           
  90.         public function map1()  
  91.         {  
  92.                 //黑色城镇  
  93.         }  
  94.         function map2()  
  95.         {  
  96.                 //运输船  
  97.         }  
  98.           
  99. }  
  100. interface vipmap extends map   
  101. {  
  102.         //如果是会员就显示会员地图,继承接口总地图  
  103.         function _vipmap()  
  104.         {  
  105.                 //vip建图颜色先是红色  
  106.         }  
  107.         function _vipmap1()  
  108.         {  
  109.                   
  110.         }  
  111. }  
  112.  
  113. $cf=new Crossfire();  
  114. echo $cf->Weapon;//输出拥有的武器!  
  115. /*  
  116.   *   $对象名称= new 类名称();  
  117.        创建新类我们使用new,我们新创建了一个cf类,$cb就是Crossfire的对象!  
  118.  &nb sp;     多态的应用,抽象类没有讲,当然一个完整的游戏是不可能从此简单的,只是做个比喻!  
  119.     
  120.  
  121. */ 
  122. $cf2=clone $cf//克隆操作表示所有玩家都使用此类!  
  123. ?> 

 

One Response to 用穿越火线快速入门php面向对象

  1. 小牛哥 says:

    不错哦,我正在学php,也在玩穿越火线啦~~~~嘻嘻

发表评论

(required)

This site uses Akismet to reduce spam. Learn how your comment data is processed.