⊗ppOpIhCn 30 of 107 menu

PHPにおけるOOP継承時のコンストラクタ

継承を行う際、親のコンストラクタをオーバーライドすることができます。 例を見てみましょう。次のような親クラスがあるとします:

<?php class User { private $name; private $surn; public function __construct($name, $surn) { $this->name = $name; $this->surn = $surn; } public function getName() { return $this->name; } public function getSurn() { return $this->surn; } } ?>

親クラスを以下のクラスが継承しているとします:

<?php class Student extends User { } ?>

子クラスでコンストラクタを拡張し、 追加のパラメータを加えたいとしましょう:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { } } ?>

この場合、最初の行でparent::__construct()を使って 親のコンストラクタを呼び出さなければなりません:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); } } ?>

コマンドparent::__construct()は、本質的に親のコンストラクタです。 したがって、必要なパラメータを渡します:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); } } ?>

次に、子クラスで学習年度を子クラス自身のプロパティに記録します:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); $this->year = $year; } } ?>

学習年度のゲッターを作成します:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); $this->year = $year; } public function getYear() { return $this->year; } } ?>

Employeeクラスが、このレッスンの Userクラスを継承しているとします。

Employeeクラスで親のコンストラクタをオーバーライドし、 年齢と給与のパラメータを追加してください。

年齢と給与のゲッターを作成してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否