LoginSignup
2
5

More than 3 years have passed since last update.

PHPのアクセス修飾子: public, private, protected の使い分け

Last updated at Posted at 2019-05-12

はじめに

アクセス修飾子が必要な理由として第一に保守の容易さに挙げられます.
オブジェクト志向のカプセル化を想像するとわかりやすいかもしれません.
チーム開発をしていて自分がクラスを作る際は基本的に, 他の人がそのクラスを使いやすいように、使って良い機能だけ公開し、使ってほしくない機能は隠します。
このようなシステムを作るときこのアクセス修飾子が役に立ちます.

アクセス修飾子

アクセス修飾子は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の技術書

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5