#アクセス権とは?
変数やメソッドにどのクラスから接続できるかを示した定義。
public / private / protected
上記3つのアクセス修飾子を変数やメソッドのはじめにつけることで定義する。
#3つのアクセス修飾子の意味
public :どこからでもアクセス可能
protected:そのクラス内とそのクラスを継承したクラス、また親クラスからアクセス可能
private :そのクラス内でしかアクセスできない
#この3つをどのように使い分けていくのか?
public :そのクラス外からも呼ばれるもの(メインメソッド・getメソッドなど)
protected:継承先でも使うもの
private :上記以外はprivateでつくる
基本的にはprivateとpublicで作って、
継承が必要となった時にprotectedを使用していくのが
カプセル化を促進する上で有効なのではないか、と思っています。
例:
税率って他から書き換えられたくはない
でも取得する処理は必要
Class Tax {
private $tax = 1.1;
public function getTax()
{
return $this->tax;
}
}
例:
性別は男性クラスのすべてにおいて必要
継承先でも使えるようにする
Class Man
{
protected $sex = 'male';
public function getSex()
{
return $this->sex;
}
}
使い分けなど、1年間プログラミングをしてきた上での私見なので、
ご意見があれば頂戴したいです!