1
AbstractClass
があるとしますPHP:コンストラクタの伝播やコンクリートの子供にコンストラクタを移動
abstract class AbstractClass {
protected $fooClass;
public function __construct($fooClass)
{
$this->fooClass = $fooClass;
}
public function bar()
{
$this->fooClass->baz();
}
}
AbstractClass
は子供のカップル(第一世代)を有し、これらの子供たちは、自分の子供(第2世代)を持っています。すべての子供は具体的なクラスです。
第2世代の子供にAbstractClass
のbar()
メソッドを使用します。私の最初の推測は、parent::__construct($fooClass);
で2世代から1世代にコンストラクタを伝播することです。それが良いかどうかわからない。
AbstractClass
のコンストラクタを第2世代の子に移動すると、その子からbar()
メソッドを呼び出すことはできますか?
これを行うには良い方法がありますか?子クラスがコンストラクタを定義する場合
あなたの引用の_Parentコンストラクタは暗黙的に呼び出されません**もし**子クラスがコンストラクタを定義していれば私は第1世代の子でコンストラクタを省略することができます(最上位の親と子のコンストラクタ引数第一世代のものは同じです)。 –