PHPのクラス その5
3年以上前に更新されました。情報が古い可能性があります。
更新日 : 2019年05月08日
更新日 : 2019年05月08日
PHPのクラス第5弾です。これでクラスの利用方法に関してはほぼ網羅することになります。
今回はオーバーライドについて学びます。
オーバーライドとは
オーバーライドとはをご覧ください。
オーバーライドの実装方法
実際のコードを例にとって見てみましょう。
<?php
class Test1 {
public function echo() {
echo "これはTest1です!!<br>";
}
public function echo2() {
echo "これはTest1のecho2です!!<br>";
}
}
// Test1を継承
class Test2 extends Test1 {
// 全く同じメソッドechoをオーバーライド
public function echo() {
echo "これはTest2です!!!!!<br>";
}
// echo2もオーバーライドするが、Test1のecho2も利用
public function echo2() {
parent::echo2();
echo "これはTest2のecho2です!!!!!<br>";
}
}
$test = new Test2();
$test->echo();
$test->echo2();
Test2
クラスはTest1
クラスを継承しています。
オーバーライドはその名の通り上書きをする機能なので、Test2
クラスでTest1
クラスのecho
メソッドを上書きします。
Test2
のインスタンスを作成し、$test->echo()
を実行すると、Test2
で作成した機能のみが実行されます。Test1
で作成されたecho
関数は上書きされていますね。
次に、オーバーライドしたが、親クラスのメソッドも同様に実行しつつ、オーバーライドしたメソッドで特有の処理も行いたい場合があります。
echo2
メソッドを見てみましょう。Test2
クラスのecho2
内の処理でparent::echo2()
と書いてあります。このparent::
が親クラスを表します。
そのまま実行したい親クラスのメソッドを実行すれば、オーバーライドしつつ、親クラスのメソッドも実行可能です。
実行結果は以下のようになります。
タグ
-
前の記事
PHPのクラス その4