呼叫家长';PHP中的s构造函数
我有以下两门课呼叫家长';PHP中的s构造函数,php,oop,subclass,Php,Oop,Subclass,我有以下两门课 class Settings { function __CONSTRUCT() { echo "Settings Construct"; } } class PageManager extends Settings { function __CONSTRUCT() { echo "PageManager Construct"; } } $page = new PageManager(); 我认为
class Settings
{
function __CONSTRUCT()
{
echo "Settings Construct";
}
}
class PageManager extends Settings
{
function __CONSTRUCT()
{
echo "PageManager Construct";
}
}
$page = new PageManager();
我认为这样做很好,但它只运行PageManager的构造函数。我假设这是因为我重写了设置的构造函数。还有什么方法可以调用父级的构造函数吗?只需使用parent:调用它:
/* Settings */
class Settings{
function __CONSTRUCT(){
echo "Settings Construct";
}
}
/* PageManager */
class PageManager extends Settings{
function __CONSTRUCT(){
parent::__CONSTRUCT();
echo "PageManager Construct";
}
}
看一看这张照片 此外:您应该知道PHP的这种行为并不是_construct()函数所独有的。最好在子构造函数中的所有指令之前调用父构造函数,因此我们确信父对象已准备好使用。@Tomasz Kowalczyk是吗?我改变了我的答案以反映这一点,所以谢谢!:)@这完全取决于父构造函数和子构造函数应该做什么。它并不总是更好。@deceze-是的,你是对的,但在大多数情况下,先调用它是更好的选择,尤其是当我们看不到基类实现时。@Tomasz Kowalczyk投了赞成票:)