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

林继 PHP 技术 4,836 共写了1180个字 (2006-09-07 16:08:15) 没有评论 打印 扫描二维码 百度已收录

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(对象):返回对象或类的父类名

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >