如何在PHP的子类中调用父构造函数?
在子类中调用父构造方法时,我们将面对两种情况。
情况1
如果子类定义了构造函数,则无法在子类中直接运行父类的构造函数。为了运行父构造函数,需要在子构造函数内调用parent::__construct()。
示例
<?php
class grandpa{
public function __construct(){
echo "I am in nhooo.com"."\n";
}
}
class papa extends grandpa{
public function __construct(){
parent::__construct();
echo "I am not in nhooo.com";
}
}
$obj = new papa();
?>Output: I am in nhooo.com I am not in nhooo.com
说明
在上面的示例中,我们使用parent::__construct()来调用父类的构造函数。
案例2
如果子级没有定义构造函数,则可以像常规的类方法一样从父类继承它(如果未声明为私有)。
示例
<?php
class grandpa{
public function __construct(){
echo "I am in nhooo.com";
}
}
class papa extends grandpa{
}
$obj = new papa();
?>输出结果
I am in nhooo.com
说明
这里父类被隐式调用,因为在子类中我们没有在子类中声明任何构造函数。
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短