首页 » 建站技术 » PHP 技术 » 浏览内容

[Monkey's PHP教程] 第九章(2) PHP的类


2006-09-07 16:08:15 4,839 0 发表评论 字体: 作者:C.K.
标签: 教程

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

From:http://lesson.phpso.com/article.php?2426.html

第三节 类的继承

  继承,顾名思义,就是拥有父辈的全部东西,并且还有自己的东西。继续前面的那个军营的例子。假如,战争开始了,我们要在军营中挑选出出战的士兵,我们可以添加一个继承类完成此事。

class battle extends barrack {//extends barrack 表示此类为barrack类的继承
var $battlelist;// 军营中要参战的士兵名单,是一个2维数组

// 添加参战者名单
function battle_soldier ($id) {
$max_number = count($this->battlelist);
$this->battlelist[$max_number] = $this->soldier[$id];
}

// 查看参战者名单
function view_battle_soldier() {
print_r($this->battlelist);
}
}


  在这个类的定义中后面加了一个“extends barrack”,表示此类为barrack的继承,barrack中所有类变量、类函数它都可以调用。因此,在battle_soldier函数中,我们引用了$this->soldier这个barrack类的类变量(我们称之为父类的变量),用来从中获取军营中的士兵名单。

  因此,在使用时,我们可以像使用barrack类那样使用它:

$army_a = new battle();
$army_a->add_soldier(“猴子”,”我是一个好猴子,今年3岁哦”);
$army_a->add_soldier(“猪子”,”我是一个笨猪,今年5岁”);
$army_a->add_soldier(“兔子”,”我是一个坏兔子,今年4岁乐”);

$army_a->battle_soldier(1);//添加id=1的士兵参战
$army_a->battle_soldier(2);//添加id=2的士兵参战
$army_a->view_battle_soldier();//查看参战者名单

  结果为:

Array
(
[0] => Array
(
[0] => 猪子
[1] => 我是一个笨猪,今年5岁
)
[1] => Array
(
[0] => 兔子
[1] => 我是一个坏兔子,今年4岁乐
)
)

  battle和barrack拥有“父-子”关系,你甚至可以创建一个新类继承battle

第四节 类相关函数

  PHP提供了一些列的类函数,让用户方便的操作类。

class_exists(类名):检查类是否已定义
get_class_methods(类名):返回指定类中所有的类函数(类方法)
get_class_vars(类名):返回指定类中所有的类变量(类属性)
get_parent_class(对象):返回对象或类的父类名

网站统计 Statistics

  • 创建时间: 2005年1月3日 距今5066 天
  • 日志总数: 2461
  • 评论总数: 630
  • 标签总数: 654
  • 链接总数: 273
  • 最后更新: 2018-8-31 17:57:04
  • 您是本站第 14169152 位访客

广告区 Guǎng Gào