用穿越火线快速入门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 相关文章推荐
第十四节 命名空间 [14]
Oct 09 PHP
用PHP的ob_start() 控制您的浏览器cache
Aug 03 PHP
PHP has encountered an Access Violation 错误的解决方法
Jan 17 PHP
php防盗链的常用方法小结
Jul 02 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
Sep 30 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
Jun 12 PHP
php从字符串创建函数的方法
Mar 16 PHP
php使用数组填充下拉列表框的方法
Mar 31 PHP
php实现的美国50个州选择列表实例
Apr 20 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
May 16 PHP
Laravel框架实现多数据库连接操作详解
Jul 12 PHP
laravel框架创建授权策略实例分析
Nov 22 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生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
php json转换相关知识(小结)
2018/12/21 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
Jquery之美中不足小结
2011/02/16 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
python保存数据到本地文件的方法
2018/06/23 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
python 读取dicom文件,生成info.txt和raw文件的方法
2019/01/24 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
《伯牙绝弦》教学反思
2014/03/02 职场文书
股份合作协议书
2014/09/10 职场文书
文员转正自我鉴定怎么写
2014/09/29 职场文书
2016国庆促销广告语
2016/01/28 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
vue.js Router中嵌套路由的实用示例
2021/06/27 Vue.js
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技