※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

前回記事、PHPでオブジェクト指向入門7~静的プロパティ~と違う方法で定数を表現していきたいと思います。10月13日記事

目次





手続き型での表現

<?php
const LOG3 = 0.4771;
$three_digit = 100;
$ten_digit = ceil($three_digit * LOG3);
print 'log3は'.LOG3.'<br>';
print '3進数の'.$three_digit.'桁は、10進数では約'.$ten_digit.'桁です。';

?>

これをオブジェクト指向で表現していきます。

オブジェクト指向の表現

Class(Static_const.php)constは予約語なのでStatic_という名前を付けました。

<?php

class Static_const{
	const LOG3 = 0.4771;//一応、大文字で記述。
	
	public static function LOG3($num){
		return ceil($num * self::LOG3);
	}
}

呼び出す方

<?php
require_once ('../class/Static_const.php');

//3進数の桁数
$num = 100;

echo 'log3は'.Static_const::LOG3.'<br>';
echo '3進数の'.$num.'桁は、10進数では約'.Static_const::LOG3($num).'桁です。';
?>

実行結果

log3は0.4771
3進数の100桁は、10進数では約48桁です。



まとめ

静的プロパティでもクラス定数でも表現は似ているのでどちらか選びお好きなようにどうぞ。
ここまででオブジェクト指向入門1~8までで、インスタンス化の仕方やメソッド、メンバ変数と静的なものを呼び出す方法ついて学んでいきました。 第一段階はここまでです。第二段階としてカプセル化というものを学んでいきたいと思います。

以上