继承的实现
在生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。在PHP中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。
PHP提供了extends关键字用于实现子类与父类之间的继承,其基本语法格式如下。
1 class 子类名 extends 父类名
2 {
3 // 类体
4 }
需要注意的是,PHP只允许单继承,即每个子类只能继承一个父类,不能同时继承多个父类。
为了更好地理解继承,接下来通过具体代码来演示PHP中继承的实现。
1 // 定义People类
2 class People
3 {
4 public $name;
5 public function say()
6 {
7 echo $this->name . 'is speaking';
8 }
9 }
10 // 定义Man类,继承People类
11 class Man extends People
12 {
13 public function __construct($name)
14 {
15 $this->mame = $name;
16 }
17 }
18 $man = new Man('Tom');
19 $man->say(); // 输出结果:Tom is speaking
在上述代码中,第11行代码定义了Man类通过extends关键字继承自People类,这样Man类就成为了People类的子类。当子类在继承父类的时候,会自动拥有父类的成员。因此,实例化后的$man对象,拥有了来自父类的成员属性$name、成员方法say()以及子类本身的构造方法。需要注意的是,当子类与父类中有同名的成员时,子类成员会覆盖父类成员。