用穿越火線快速入門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.