継承
継承とは簡単にいうと継承とは、既に存在するあるクラスを元に、それを更に拡張したクラスを作る仕組みです。
継承元となるクラスはスーパークラス。継承の結果できたクラスをサブクラスと言います。
具体例として先ほど作成したPersonクラスと似たようなクラスBusinessPersonを作ってみます。
1 2 3 4 5 6 7 8 9 |
require_once dirname(__FILE__).'/Person.php'; class BusinessPerson extends Person{ //サブクラス独自のworkメソッドを定義 public function work(){ echo "<p>{$this -> lastName}{$this -> firstName}は働いています。</p>"; } } |
*require_once dirname(__FILE__).’/Person.php’のdirname(__FILE__)でファイルの絶対パスを通して、インクルードの動作を確実にしています。
実行コードで
1 2 3 4 5 |
require_once "./classes/BusinessPerson.php"; $bp = new BusinessPerson('名無し','ごんべい'); $bp -> work(); $bp -> show(); |
このようにして見ましょう。
インスタンスを行っているのは、BusinessPersonクラスのみです。しかし、Pesonクラスのメソッドshow()にもアクセスが可能ですね。サブクラスからはスーパークラスのあれやこれやが参照できるのです。
順番としては、インスタンス化されたクラスの参照先を探し、なければ継承元(スーパークラス)に参照を求めるという動きです。
ちなみに、PHPでは多重継承はみとめていません。