PHPでは、PHP5より抽象クラス(abstract class)が導入されました。
抽象クラスの特徴は下記のとおりです。
・抽象メソッド(abstruct function ...)を含むクラスは、抽象クラスとして宣言される必要があります。 ・抽象クラスには非抽象メソッドを含めることができます。 ・抽象メソッドはメソッド定義を持つ必要はありません。 メソッドの実態は、継承先のクラスでメソッド定義を行います。 |
上記の振る舞いを確認できるサンプルコードは下記のとおりです。
<?php // 抽象クラス abstract class BaseClass { abstract function func1(); // 抽象メソッドは実態を持たない function func2() { echo "hello func2\n"; // abstract classには抽象メソッドでは無い、普通のメソッドも定義可能 } } // 抽象クラスを継承した具象クラス class DerivedClass extends BaseClass { function func1() { echo "hello func\n"; } } $obj = new DerivedClass(); $obj->func1(); $obj->func2(); |
実行結果:
$ php test01.php hello func hello func2 |
関連記事
コメントを残す