PHP マニュアル
前のページ | 第 19章クラスとオブジェクト (PHP 5) | 次のページ

# オブジェクトアブストラクション

PHP 5 では、抽象クラスとメソッドが導入されました。 abstractとして宣言されたクラスのインスタンスを生成することはできません。 １つ以上の抽象メソッドを含む全てのクラスもまた抽象クラスとなります。 abstractとして定義されたメソッドは、そのメソッドの外観を宣言するのみで、 実装を定義することはできません。

抽象メソッドを実装するクラスは、同等以下の 可視性で 定義される必要があります。抽象メソッドがprotectedとして定義された場合、 その関数の実装はprotectedまたはpublicのどちらかとして定義する必要が あります。

例 19-16. 抽象クラスの例

`<?php
abstract class AbstractClass
{
// 拡張クラスにこおんメソッドの定義を強制する
abstract protected function getValue();
// Common method
public function printOut() {
print $this->getValue();
}
}
class ConcreteClass1 extends AbstractClass
{
protected function getValue() {
return "ConcreteClass1";
}
}
class ConcreteClass2 extends AbstractClass
{
protected function getValue() {
return "ConcreteClass2";
}
}
$class1 = new ConcreteClass1;
$class1->printOut();
$class2 = new ConcreteClass2;
$class2->printOut();
?>`

'abstract'という名前のユーザー定義関数または関数を有さない コードは修正なしに動作します。

前のページ | ホーム | 次のページ
オブジェクト定数 | 上に戻る | オブジェクト インターフェイス