PHPの基本のカプセル化

こんにちは、ちゃんけいです。毎回最近は-って言ってるとネタがなくなってきますよね。

さて今回はPHPの基本のき第4弾!カプセル化を説明していきます、それではどうぞ!

カプセル化とは

ざっくりというと、「隠すこと」がカプセル化の第一歩です。隠すことで、外部からのアクセスを制限することができます。それにより、保守性が向上したり使うユーザーにとってとても優しい構造になります。

クラスを使ってカプセル化していきます。

publicとprivate

クラスのプロパティとメソッドへのアクセスを制限することでカプセル化を実現していきます。
publicとprivateを使ってアクセスを制限できるのですが、名前通りこちらのようになっています。

  • public:クラスの外からアクセスできる
  • private:クラスの外からはアクセスできない

<?php 
class Kamigata{
	public $name;
	private $type;
	public function changeHair(){
		echo '髪型を'. $this->name .'に変えますか?';
	}
}
?>

ゲッター

privateにしてしまうと、クラスの外から値を取り出せなくなってしまいます。そんな時に頼りになるのが、ゲッターです。

「get~」と一般的には書きます。


<?php 
class Kamigata{
	public $name;
	private $type;
	public function changeHair(){
		echo '髪型を'. $this->name .'に変えますか?';
	}

	public function getType(){ // ゲッター
		return $this->type;
	}
}
?>

セッター

ゲッターは値をとるものでした、セッターは値を設定することができます。素敵!
御察しの通りこちら


<?php 
class Kamigata{
	public $name;
	private $type;
	public function changeHair(){
		echo '髪型を'. $this->name .'に変えますか?';
	}

	public function getType(){ // ゲッター
		return $this->type;
	}

	public function setType($type){ // セッター
		$this->type = $type;
	}
}
?>

まとめ

いかがでしょうか。この辺から個人的にはこんがらがってよくわからなくなった記憶があります。
どうしても同じような感じのことばも多いので混乱しますが1つづつ覚えていきましょう!( 私も )