如何在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 寒露祝福语毕业寄语简短