##はじめに
アクセス修飾子が必要な理由として第一に保守の容易さに挙げられます.
オブジェクト志向のカプセル化を想像するとわかりやすいかもしれません.
チーム開発をしていて自分がクラスを作る際は基本的に, 他の人がそのクラスを使いやすいように、使って良い機能だけ公開し、使ってほしくない機能は隠します。
このようなシステムを作るときこのアクセス修飾子が役に立ちます.
##アクセス修飾子
アクセス修飾子はpublic, protected, private の三つがあり, 下に行くほどアクセスできる範囲が狭くなります.
アクセス修飾子 | 意味 |
---|---|
public | 外部から参照できる |
protected | 変数、関数を宣言したクラスと継承されたクラスから参照できる |
private | 変数、関数を宣言したクラス内のみ参照できる |
下記は説明のために作成したものです.
変数名にpublicなどをつけるという愚かな行為をしているため
コピペはしないでください
親
class Parent{
//$public, #protected, $private全てアクセスできる
public $public;
protected $protected;
private $private;
//privateで読み込みだけしていい場合このように公開する
public function getPrivate{
return $this->pra;
}
}
Mainを継承
子クラス
class Child extends Parent{
// $privateはアクセスできない
// $public, $protectedはアクセスできる
}
クラス外
//$private, $protected はアクセスできない
//$publicはアクセスできる
##参照リンク
PHPでクラスを使う
TomoBlogの技術書