本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
面向对象编程(OOP)的一大好处就是,可以使用一个类继承另一个已有的类,被继承的类称为父类或基类,而继承这个父类的类称为子类。子类可以继承父类的方法和属性,因此通过继承可以提高代码的重用性,也可以提高软件的开发效率。
子类可以增加父类之外的新功能,因此也可以将子类称为父类的“扩展”。此外,子类还可以继承父类的构造函数,当子类被实例化时,PHP 会先在子类中查找构造函数。如果子类有自己的构造函数,PHP 会先调用子类中的构造函数。当子类中没有时,PHP 则会去调用父类中的构造函数。
类的继承需要通过 extends 关键字来实现。语法格式如下所示:
class 子类名 extends 父类名{
... ...
}
注意:不同于 Java 等语言,在 PHP 中,一个类只能直接从一个类中继承数据,即单继承。但一个类可以有多个子类。
示例:
<?php
class Person {
var $name;
var $age;
function say() {
echo "我的名字叫:".$this->name."<br />";
echo "我的年龄是:".$this->age;
}
}
// 类的继承
class Student extends Person {
var $school; //学生所在学校的属性
function study() {
echo "我的名子叫:".$this->name."<br />";
echo "我正在".$this->school."学习";
}
}
$t1 = new Student();
$t1->name = "张三";
$t1->school = "人民大学";
$t1->study();
?>
运行该例子,输出:
我的名子叫:张三
我正在人民大学学习
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。