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