用穿越火线快速入门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 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
php学习之数据类型之间的转换代码
May 29 PHP
实例介绍PHP的Reflection反射机制
Aug 05 PHP
php学习笔记之基础知识
Nov 08 PHP
thinkphp模板输出技巧汇总
Nov 24 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
win7系统配置php+Apache+mysql环境的方法
Aug 21 PHP
php封装好的人民币数值转中文大写类
Dec 20 PHP
PHP记录和读取JSON格式日志文件
Jul 07 PHP
浅谈PHP无限极分类原理
Mar 14 PHP
tp5.1框架数据库子查询操作实例分析
May 26 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模板引擎SMARTY
2006/10/09 PHP
php性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
Javascript 读书笔记索引贴
2010/01/11 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
Vue实现图片轮播组件思路及实例解析
2020/05/11 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
2018/01/04 Python
使用Scrapy爬取动态数据
2018/10/21 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
土木工程个人自荐信范文
2013/11/30 职场文书
新浪微博实习心得体会
2014/01/27 职场文书
大学生学年自我鉴定
2014/02/10 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
基层领导干部“四风”问题批评与自我批评
2014/09/23 职场文书
房屋维修协议书范本
2014/09/25 职场文书
简易离婚协议书(范本)
2014/10/25 职场文书
测量员岗位职责
2015/02/14 职场文书
证券区域经理岗位职责
2015/04/10 职场文书
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis