如何在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 兔年简短祝福语8字
13 出车开工吉祥祝福语简短
14 爸爸生日的祝福语简短
15 六一祝福语简短十六字
16 过年红包祝福语简短霸气
17 媒人婚礼祝福语简短大气
18 生气蛋糕祝福语大全简短