来自php.net
如果孩子没有定义构造函数,那么它可以像普通的类方法一样从父类继承(如果它没有被声明为私有)。
根据我的理解,如果我没有在child中定义构造函数,那么将调用parent的构造函数。
所以这是我的例子,我用构造函数创建了一个父类。实例化子类和父类,但是会抛出以下警告: 警告:车辆缺少参数1 :: __ construct()
这是示例代码。
class vehicle{
protected $type;
function __construct($type){
$this->type = $type;
echo "Type chosen: $this->type";
}
}
class car extends vehicle{
}
$vehicle = new vehicle("sport");
$car = new car;
答案 0 :(得分:1)
好吧,它正在调用父类的构造函数。由于您没有为构造函数提供任何参数,因此当您声明$car
对象时,它会向您发出有关缺少参数的警告。
你应该通过提供"类型"来初始化子类对象。参数如下:
$car = new car("family");