用穿越火线快速入门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源码之explode使用说明
Aug 05 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
php中最简单的字符串匹配算法
Dec 16 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
Apr 03 PHP
PHP中SESSION的注销与清除
Apr 16 PHP
php实现数组中索引关联数据转换成json对象的方法
Jul 08 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
关于php几种字符串连接的效率比较(详解)
Feb 22 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
Oct 11 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
Feb 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
打造计数器DIY三步曲(下)
2006/10/09 PHP
php数据库抽象层 PDO
2011/05/07 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
vue-router 学习快速入门
2017/03/01 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
进一步探究Python中的正则表达式
2015/04/28 Python
浅谈Python中的数据类型
2015/05/05 Python
Python遍历指定文件及文件夹的方法
2015/05/09 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
python绘图模块之利用turtle画图
2021/02/12 Python
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
车间班组长岗位职责
2013/11/13 职场文书
人事任命书怎么写
2014/06/05 职场文书
文秘自荐信
2014/06/28 职场文书
村党组织公开承诺书
2015/04/30 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
2016年党建工作简报
2015/11/26 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
完美解决golang go get私有仓库的问题
2021/05/05 Golang
MySQL 开窗函数
2022/02/15 MySQL
vue里使用create, mounted调用方法
2022/04/26 Vue.js