PHPのOOPにおけるインターフェースの定数
インターフェースはクラスのプロパティを含むことはできませんが、 定数を含むことができます。インターフェースの定数はクラスの定数と全く同じように機能しますが、 継承するクラスやインターフェースによってオーバーライドできない点が異なります。
例として、球体を扱うクラスを記述するインターフェース iSphere を作成しましょう。
この球体では、体積と表面積を求める必要があります。そのために円周率が必要です。
これをインターフェースの定数として設定します:
<?php
interface iSphere
{
const PI = 3.14; // 円周率を定数として
// 球体のコンストラクタ:
public function __construct($radius);
// 球体の体積を求めるメソッド:
public function getVolume();
// 球体の表面積を求めるメソッド:
public function getSquare();
}
?>
インターフェース iSphere を実装するクラス Sphere を作成してください。