用穿越火线快速入门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 相关文章推荐
PHP多线程抓取网页实现代码
Jul 22 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
Sep 22 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
CI(Codeigniter)的Setting增强配置类实例
Jan 06 PHP
Linux安装配置php环境的方法
Jan 14 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
PHP实现电商订单自动确认收货redis队列
May 17 PHP
PHP操作Postgresql封装类与应用完整实例
Apr 24 PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 PHP
实例讲解通过​PHP创建数据库
Jan 20 PHP
详解php命令注入攻击
Apr 06 PHP
php实现的顺序线性表示例
May 04 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
PHP+MySQL5.0中文乱码解决方法
2006/11/20 PHP
深入PHP autoload机制的详解
2013/06/09 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
window.parent调用父框架时 ie跟火狐不兼容问题
2009/07/30 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
[43:57]LGD vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
pygame学习笔记(4):声音控制
2015/04/15 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
python模块smtplib学习
2018/05/22 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
python中的for循环
2018/09/28 Python
python实现串口自动触发工作的示例
2019/07/02 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
python函数map()和partial()的知识点总结
2020/05/26 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
农药学硕士毕业生自荐信
2013/09/25 职场文书
办公室秘书自我鉴定
2014/01/18 职场文书
学校大课间活动方案
2014/01/30 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
离婚上诉状范文
2015/05/23 职场文书
实施意见格式范本
2015/06/05 职场文书
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏
python中mongodb包操作数据库
2022/04/19 Python