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


Posted in PHP onFebruary 22, 2012
<?php 
/* 
*用穿越火线快速入门php面向对象! 
*php目前已经成为国内的主流web developer的首选开发语言,其强大的面向对象容易使初学者找不到思绪,一头雾水! 
*,借助此文希望对初学者有所帮助,假设Crossfire用php来开发. 
* 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里面有主武器,副武器,枪械,刀类,弹物,防弹衣,喷图等等.. 
* 以上都是类中的成员属性,假如武器坏了,那么我们就得维修,维修就是类的成员方法! 
* 每种枪械都有不同的威力,不同的子弹数量,大小不同但是都是武器类,这是类和对象的关系(类的实例化结果就是对象)。 
* 
*/ 
function __construct() 
{ 
//武器维修 $this->repair(); 
} 
function __destruct() 
{ 
//武器超过耐久自动消失 $this->destroy(); 
} 
private function buy() 
{ 
//购买武器私有属性代码 
} 
private function __get() 
{ 
//调用购买的武器代码 
} 
private function __set() 
{ 
//给买的武器购买子弹数量代码 
} 
private function __isset() 
{ 
//检查钱数是够购买子弹数 
} 
private function __unset() 
{ 
//如果中途死亡自动掉落武器 
} 
} 
class role extends Crossfire 
{ 
//个人角色继承cf的属性,角色可以使用购买,销毁上面的物品 
function attack() 
{ 
Crossfire::attack(); 
$this->Weapon='awm-a'; 
//如果中途换枪,加入换枪的弹量,伤害! 
} 
final function vip() 
{ 
//购买vip,final关键字是禁止方法和属性继承!vip是需要money购买,所以因此不能被继承! 
} 
public static $awm=100;//awm 伤害是固定的所以用静态 
public static function awm() 
{ 
self::$awm;//awm攻击代码,self调用静态. 方法的重载 
} 
public function __toString() 
{ 
return $this->repair(); //自动返回武器维修的费用 
} 
} 
interface map 
{ 
//地图代码,一个子类只能继承一次父类,地图是每个玩家都要用的,显而意见继承是不能够满足需求的,接口为我们解决瓶颈! 
public function map1() 
{ 
//黑色城镇 
} 
function map2() 
{ 
//运输船 
} 
} 
interface vipmap extends map 
{ 
//如果是会员就显示会员地图,继承接口总地图 
function _vipmap() 
{ 
//vip建图颜色先是红色 
} 
function _vipmap1() 
{ 
} 
} 
$cf=new Crossfire(); 
echo $cf->Weapon;//输出拥有的武器! 
/* 
* $对象名称= new 类名称(); 
创建新类我们使用new,我们新创建了一个cf类,$cb就是Crossfire的对象! 
&nb 
sp; 多态的应用,抽象类没有讲,当然一个完整的游戏是不可能从此简单的,只是做个比喻! */ 
$cf2=clone $cf; //克隆操作表示所有玩家都使用此类! 
?>
PHP 相关文章推荐
一个MYSQL操作类
Nov 16 PHP
相对路径转化成绝对路径
Apr 10 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 PHP
php函数实现判断是否移动端访问
Mar 03 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
thinkPHP中session()方法用法详解
Dec 08 PHP
详解php框架Yaf路由重写
Jun 20 PHP
详解PHP中的 input属性(隐藏 只读 限制)
Aug 14 PHP
在PHP中输出JS语句以及乱码问题的解决方案
Feb 13 PHP
php把文件设置为插件的技巧方法
Feb 03 PHP
php重定向的三种方法分享
Feb 22 #PHP
php中echo()和print()、require()和include()等易混淆函数的区别
Feb 22 #PHP
我的php学习笔记(毕业设计)
Feb 21 #PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 #PHP
修改PHP的memory_limit限制的方法分享
Feb 21 #PHP
php中取得文件的后缀名?
Feb 20 #PHP
ThinkPHP写第一个模块应用
Feb 20 #PHP
You might like
PHP4之真OO
2006/10/09 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
JS中for循序中延迟加载动态效果的具体实现
2013/08/18 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
Angular将填入表单的数据渲染到表格的方法
2017/09/22 Javascript
angularjs 页面自适应高度的方法
2018/01/17 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
python游戏开发之视频转彩色字符动画
2019/04/26 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
专门经营化妆刷的美国彩妆品牌:Sigma Beauty
2017/09/11 全球购物
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
中间件分为哪几类
2016/09/18 面试题
代码中finally中的代码会不会执行
2012/02/06 面试题
歌唱比赛获奖感言
2014/01/21 职场文书
高级工程师英文求职信
2014/03/19 职场文书
房屋租赁协议书范本
2014/04/10 职场文书
儿童生日会策划方案
2014/05/15 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
小学教育见习报告
2014/10/31 职场文书
2015年乡镇工会工作总结
2015/05/19 职场文书
2019消防宣传标语!
2019/07/10 职场文书
教你怎么用Python监控愉客行车程
2021/04/29 Python
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis