|
<?php
/*
*用穿越火線快速入門php面向?qū)ο?
*php目前已經(jīng)成為國內(nèi)的主流web developer的首選開發(fā)語言,其強(qiáng)大的面向?qū)ο笕菀资钩鯇W(xué)者找不到思緒,一頭霧水!
*,借助此文希望對初學(xué)者有所幫助,假設(shè)Crossfire用php來開發(fā).
* 1類與對象
*/
class Crossfire
{
public $Category='1,2,3'; //槍械種類,3個選擇武器類別
public $Weapon='ak|awp|m4a1';//購買的武器,擁有的武器
public $Flashlight=true;//是否購買閃光彈
public $Bomb=false; //購買了閃光同等條件下不能再次購買手雷
function attack()
{
//攻擊的代碼 $this->Weapon;使用武器
}
function repair()
{
//修理武器的代碼
}
function destroy()
{
//武器壞了自動銷毀代碼
}
/*
* 我們把cf看成是一個類,cf里面有主武器,副武器,槍械,刀類,彈物,防彈衣,噴圖等等..
* 以上都是類中的成員屬性,假如武器壞了,那么我們就得維修,維修就是類的成員方法!
* 每種槍械都有不同的威力,不同的子彈數(shù)量,大小不同但是都是武器類,這是類和對象的關(guān)系(類的實例化結(jié)果就是對象)。
*
*/
function __construct()
{
//武器維修 $this->repair();
}
function __destruct()
{
//武器超過耐久自動消失 $this->destroy();
}
private function buy()
{
//購買武器私有屬性代碼
}
private function __get()
{
//調(diào)用購買的武器代碼
}
private function __set()
{
//給買的武器購買子彈數(shù)量代碼
}
private function __isset()
{
//檢查錢數(shù)是夠購買子彈數(shù)
}
private function __unset()
{
//如果中途死亡自動掉落武器
}
}
class role extends Crossfire
{
//個人角色繼承cf的屬性,角色可以使用購買,銷毀上面的物品
function attack()
{
Crossfire::attack();
$this->Weapon='awm-a';
//如果中途換槍,加入換槍的彈量,傷害!
}
final function vip()
{
//購買vip,final關(guān)鍵字是禁止方法和屬性繼承!vip是需要money購買,所以因此不能被繼承!
}
public static $awm=100;//awm 傷害是固定的所以用靜態(tài)
public static function awm()
{
self::$awm;//awm攻擊代碼,self調(diào)用靜態(tài). 方法的重載
}
public function __toString()
{
return $this->repair(); //自動返回武器維修的費用
}
}
interface map
{
//地圖代碼,一個子類只能繼承一次父類,地圖是每個玩家都要用的,顯而意見繼承是不能夠滿足需求的,接口為我們解決瓶頸!
public function map1()
{
//黑色城鎮(zhèn)
}
function map2()
{
//運(yùn)輸船
}
}
interface vipmap extends map
{
//如果是會員就顯示會員地圖,繼承接口總地圖
function _vipmap()
{
//vip建圖顏色先是紅色
}
function _vipmap1()
{
}
}
$cf=new Crossfire();
echo $cf->Weapon;//輸出擁有的武器!
/*
* $對象名稱= new 類名稱();
創(chuàng)建新類我們使用new,我們新創(chuàng)建了一個cf類,$cb就是Crossfire的對象!
&nb
sp; 多態(tài)的應(yīng)用,抽象類沒有講,當(dāng)然一個完整的游戲是不可能從此簡單的,只是做個比喻!
*/
$cf2=clone $cf; //克隆操作表示所有玩家都使用此類!
?>
php技術(shù):用穿越火線快速入門php面向?qū)ο?/a>,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。