親コンストラクタを呼び出すための子クラスコンストラクタを作成することをお勧めします。子コンストラクタ内で親コンストラクタを呼び出す
class A {
public function __construct() {
echo 'I am in: '.__CLASS__.'<br/>';
}
public function getData() {
echo 'I am in: '.__METHOD__.'<br/>';
}
}
class B extends A {
public function __construct() {
parent::__construct();
echo 'I am in: '.__CLASS__.'<br/>';
}
public function getDataFromB(){
echo 'I am in: '.__METHOD__.'<br/>';
}
}
$objB = new B();
$objB->getDataFromB();
今の例を以下に我々は達成することができ、同じ:
class A {
public function __construct() {
echo 'I am in: '.__CLASS__.'<br/>';
}
public function getData() {
echo 'I am in: '.__METHOD__.'<br/>';
}
}
class B extends A {
public function getDataFromB(){
echo 'I am in: '.__METHOD__.'<br/>';
}
}
$objB = new B();
$objB->getDataFromB();
質問:それは、親のコンストラクタを呼び出すための子のコンストラクタを作成することをお勧めし
ですまたはその他がありますそうする利点?
これは単なる余計な期間です。 – deceze
親コンストラクタは、子クラスでオーバーライドしないと自動的に呼び出されます。したがって、追加の機能を実装する予定がない限り、無意味です。 –