phpのクラスに存在するメンバは、接続修飾子を付ける必要があります。外部から接続してもよいときは、public、クラスと子クラスのみのときは、protected、クラスのみのときは、privateです。
何もつけないとpublicとなります。php5.4以下のときに必要だったというjavascriptでもお馴染みのvarもpublicと同じ意味を有しています。
publicを選択すると無制限、無条件に外部へメンバを晒すことになり、protectedは、継承した子クラスのみに晒すことになります。
ここまでは、分かったのですがいざメンバに接続修飾子をつけようとなると、どれになにを付けるべきなのかが分かりません。
カプセル化のたとえ話にテレビを使うことがあります。テレビは、利用者が選んだ周波数を本体に送ってくれる遠隔操作機器を使うことで番組を視聴できます。
テレビ本体のなかの配線や回路を弄ることなく子供からお年寄りまで簡単に操作することが出来ます。つまり必要な部分だけを見せ、不必要な部分は隠すというのがカプセル化だそうです。
ここで見せる必要のないものは、protected或いは、private、子供からお年寄りまで利用させたいものは、publicを選択するべきということがわかりました。
**しかしながらこれだけだと、どうしても心許ないのです。**なにか接続修飾子を選ぶ際の基準や規則のようなものは、無いのでしょうか。また見せる必要のないものは、二種類ありますがこれらは、どのようにして区別するのでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。