継承を用いて子クラスを定義するときは class 子クラス extends 親クラス
とする。
<?php class Blog { } class KabegiwaBlog extends Blog { }
子クラスは親クラスのプロパティ,メソッドを引き継いでいるので親クラスで定義されているメソッドを呼び出せる。
<?php class Blog { public function __construct() { echo 'blog desu.'; } } class KabegiwaBlog extends Blog { } $article = new KabegiwaBlog(); // 親クラスのコンストラクタが実行される
子クラスには独自のメソッドを定義することができる。子クラスにメソッドが定義されている場合にはそのメソッドが呼び出される。
定義されていない場合には親クラスのメソッドが呼び出される。
また、親クラスと同じ名前のメソッドを子クラスで定義するとメソッドの中身を上書きすることができる。
これをオーバーライドという。
<?php class Blog { public function __construct() { echo 'blog desu.'; } } class KabegiwaBlog extends Blog { public function __construct() { echo 'kabegiwablog desu.'; } } $article = new KabegiwaBlog(); // 子クラスのコンストラクタが実行される