用穿越火线快速入门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 相关文章推荐
Ajax PHP分页演示
Jan 02 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
Oct 09 PHP
php curl模拟post请求小实例
Nov 13 PHP
PHP return语句的另一个作用
Jul 30 PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 PHP
php动态绑定变量的用法
Jun 16 PHP
PHP编写RESTful接口的方法
Feb 21 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
Apr 11 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
ZendFramework框架实现连接两个或多个数据库的方法
Dec 08 PHP
PHP观察者模式实例分析【对比JS观察者模式】
May 22 PHP
ThinkPHP5和ThinkPHP6的区别
Mar 31 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接口和抽象类使用示例详解
2014/03/02 PHP
javascript some()函数用法详解
2014/11/13 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
Javascript基础教程之if条件语句
2015/01/18 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
Jquery Ajax Error 调试错误的技巧
2015/11/20 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
js改变style样式和css样式的简单实例
2016/06/28 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
Python字节单位转换实例
2019/12/05 Python
在python shell中运行python文件的实现
2019/12/21 Python
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
三维科技面试题
2013/07/27 面试题
生产车间主任的个人自我鉴定
2013/10/25 职场文书
市政施工员自我鉴定
2014/01/15 职场文书
《社戏》教学反思
2014/04/15 职场文书
幽灵公主观后感
2015/06/09 职场文书
初中语文教师研修日志
2015/11/13 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书