Может ли подкласс наследовать также конструктор родительского класса, или каждый класс имеет свой собственный конструктор?

Допустим, у меня есть абстрактный ParentClass и ChildClass. ChildClass расширяет ParentClass. Теперь у ParentClass есть этот красивый конструктор:

function __construct($tplFile) {
    $this->$tplFile = $tplFile;
}

Будет ли ChildClass автоматически наследовать этот? И если я не добавлю конструктора в ChildClass, могу ли я сказать $foo = new ChildClass("foo.tpl.php");, чтобы конструктор ParentClass вызывался?

Ответ 1

ChildClass автоматически наследует конструктор.

Ответ 2

Из руководства по PHP:

Примечание. Родительские конструкторы не называются неявно, если дочерний class определяет конструктор. Чтобы запустить родительский конструктор, вызов parent:: __ construct() в дочернем конструкторе требуется.

Ответ 3

Ответ на оба вопроса: да.