インターフェイス(オブジェクト・インターフェイス)における定数は、オブジェクト定数(クラス内定数)同様、const
キーワードを前に付けて定義する。アクセスは、インターフェイス名::定数名
。
書式
interface インターフェイス名 // インターフェイスを定義
{
const 定数名 = '定数の値'; // インターフェイスにおいて、定数を定義
}
class クラス名 implements インターフェイス名 // クラスを定義
{
public function メソッド名() { // メソッドを定義
インターフェイス名::定数名; // インターフェイスの定数にアクセス
// メソッド内処理文;
}
}
インターフェイス名::定数名; // インターフェイスの定数にアクセス
{
const 定数名 = '定数の値'; // インターフェイスにおいて、定数を定義
}
class クラス名 implements インターフェイス名 // クラスを定義
{
public function メソッド名() { // メソッドを定義
インターフェイス名::定数名; // インターフェイスの定数にアクセス
// メソッド内処理文;
}
}
インターフェイス名::定数名; // インターフェイスの定数にアクセス
サンプル
<?php
interface taxInterface
{
const tax = 0.1;
public function func_tax( $var );
public function func_echo( $var );
}
class taxClass5 implements taxInterface
{
public function func_tax( $var ) {
return $var * ( 1 + taxInterface::tax );
}
public function func_echo( $var ) {
echo '税込:' . $this->func_tax( $var ) . '円<br />';
echo '税率:' . taxInterface::tax * 100 . '%<br /><br />';
}
}
$var_class = new taxClass5();
$var_class->func_echo( 100 );
?>
interface taxInterface
{
const tax = 0.1;
public function func_tax( $var );
public function func_echo( $var );
}
class taxClass5 implements taxInterface
{
public function func_tax( $var ) {
return $var * ( 1 + taxInterface::tax );
}
public function func_echo( $var ) {
echo '税込:' . $this->func_tax( $var ) . '円<br />';
echo '税率:' . taxInterface::tax * 100 . '%<br /><br />';
}
}
$var_class = new taxClass5();
$var_class->func_echo( 100 );
?>
↓↓↓出力結果↓↓↓
税込:110円
税率:10%
税率:10%