【发布时间】:2017-03-07 18:02:11
【问题描述】:
子类构造函数中的构造函数必须调用父类的构造函数吗?
解释一下下面的例子:
class Parent{
function __construct(){
//something is done here.
}
}
class Child extends Parent{
function __construct(){
parent::__construct();
//do something here.
}
}
像上面那样做是很正常的。但请考虑以下Child 类的构造函数:
function __construct(){
//Do something here
parent::__construct();
}
上面的代码正确吗?在调用父级的构造函数之前我们可以做点什么吗?另外,如果我们不在孩子的构造函数中调用父构造函数,如下所示是否合法?
class Child extends Parent{
function __construct(){
//do something here.
}
}
我来自 JAVA,我展示的构造函数类型在 Java 中是不可能的。但是这些可以用 PHP 完成吗?
【问题讨论】:
-
不,你不必调用父构造函数,是的,你可以在子构造函数中做完之后调用父构造函数。
-
如果你不扩展(“调用”)父构造函数,你只需覆盖它。
标签: php class inheritance constructor