プロパティのアクセス制限

プロパティのアクセス制限

カプセル化することで、クラス設計の想定外のアクセスを防ぐことができます。スクリプト例では以下のように$priceをprivateに設定しています。

    private $price;
    public function show_price() {
		return $this->price ;
	}

$priceをprivateに設定することで、クラス外から直接$priceにアクセスすることはできません。クラス外からはshow_price()を呼び出す必要があります。 show_price()は単に$priceを表示するだけのメソッドですが、このメソッドを定義するのには、ちゃんとした理由があります。

クラス外から$priceにアクセスできると、単に$priceの値を表示するだけでなく、値を変更することも可能になってしまいます。値を好き勝手に変更されると困るので、privateに設定します。表示するだけのメソッドを公開することで、クラス外からは$priceの値を取得できるが、変更できないことになります。

トラックバック&コメント

この記事のトラックバックURL:

まだトラックバック、コメントがありません。

コメントを投稿する




»
«