プロパティのアクセス制限
カプセル化することで、クラス設計の想定外のアクセスを防ぐことができます。スクリプト例では以下のように$priceをprivateに設定しています。
private $price;
public function show_price() {
return $this->price ;
}
$priceをprivateに設定することで、クラス外から直接$priceにアクセスすることはできません。クラス外からはshow_price()を呼び出す必要があります。 show_price()は単に$priceを表示するだけのメソッドですが、このメソッドを定義するのには、ちゃんとした理由があります。
クラス外から$priceにアクセスできると、単に$priceの値を表示するだけでなく、値を変更することも可能になってしまいます。値を好き勝手に変更されると困るので、privateに設定します。表示するだけのメソッドを公開することで、クラス外からは$priceの値を取得できるが、変更できないことになります。
2007年09月11日 コメント&トラックバック(0) | トラックバックURL |
カテゴリ: カプセル化
トラックバック&コメント
この記事のトラックバックURL:
まだトラックバック、コメントがありません。