スーパークラスのコンストラクタを呼び出す。
- 2013 8/9
- カテゴリー : クラス
スーパークラスのコンストラクタを流用しながらサブクラスのスーパークラスを定義することもできます。
Foreignerクラスを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
require_once dirname(__FILE__)."/Person.php"; class Forigner extends Person{ //追加プロパティ public $middleName; //スーパークラスのコンストラクタをオーバーライド public function __construct($lastName,$middleName,$firstName){ //スーパークラスのコンストラクタを呼び出し parent :: __construct($firstName,$lastName); //middleNameの初期化 $this -> middleName = $middleName; } //showメソッドのオーバーライド public function show(){ echo "<p>僕の名前は、{$this -> firstName}.{$this -> middleName}.{$this -> lastName}です。</p>"; } } |
実行コードは、
1 2 3 4 |
require_once "./classes/Forigner.php"; $hbp = new Forigner('ヤマダ','ルイ','十三世'); $hbp -> show(); |
スーパークラスのコンストラクタを利用しつつ、コンストラクタをひとつ追加していますね。その際にparentキーワードと::演算子でスーパークラスのコンストラクタを呼び出しています。