php 的继承 --- 单继承

在 PHP 中只支持单继承


错误示例

1
2
3
4
class A{}
class B{}

class C extends A, B{} //程序报错

将上方代码改成

1
2
3
4
class A{}
class B extends A {}

class C extends B{} //C 就可以同时继承了 B A

使用 trait 可以实现多继承(只是一种复用机制)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class A {
public function init()
{
echo 'A------> init' . PHP_EOL;
}
}

trait B {
public function say()
{
parent::init();
echo 'B------> init' . PHP_EOL;
}
}

class C extends A {
use B;
}

$a = new C();
$a->init();
$a->say();