如果我有一个名为:模型的父类class Model{ __construct(){ //do something } __destruct(){ //do something }}和一些子类,如child1,child2 ...class child extends Model { // some code}子类是否从父类继承魔术方法(__destruct,...)?
1 回答

扬帆大鱼
TA贡献1799条经验 获得超9个赞
是的,它确实继承了父方法,直到您重载它们。但是当重载时,你可以通过 preceeding 来调用它们parent::。
class Model {
public function __construct() {
var_dump('From Model');
}
}
class A extends Model {
}
class B extends Model {
public function __construct() {
var_dump('From B');
}
}
class C extends Model {
public function __construct() {
parent::__construct();
var_dump('From C');
}
}
$m = new Model();
$a = new A();
$b = new B();
$c = new C();
结果来自$m = new Model();
string(10) "来自模型"
结果来自$a = new A();
string(10) "来自模型"
结果来自$b = new B();
字符串(6)“来自 B”
结果来自$c = new C();
string(10) "来自模型"
字符串(6)“来自 C”
- 1 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消