1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【PHP】アクセス権の意味とその使い分け

Last updated at Posted at 2020-08-18

#アクセス権とは?
変数やメソッドにどのクラスから接続できるかを示した定義。

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年間プログラミングをしてきた上での私見なので、
ご意見があれば頂戴したいです!

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?