ねこきっくぱんちのメモ帳

ITに関することいろいろめも。たまにアニメ。

PHP007 カプセル化

カプセル化

カプセル化とは、クラスのプロパティとメソッドへのアクセスを制限することを言う。
子クラスからでも親クラスのprivateはアクセスできない。子クラスからアクセスする場合はprotectedを付与する。

===
アクセス権
public:どこからでも可
protected:そのクラスと子クラスからのみ可
private:そのクラスからのみ可
===

・ゲッター
プロパティは基本privateにする。そうするとプロパティ名などをechoするとエラーになる。そのため、プロパティの値だけを返すゲッターメソッドを作成する。
※読み取り専用にするイメージ

<?php
class human{
private $name;

public function getName(){
 return $this->name;
};
}
?>


・セッター
可変となる個数をプロパティで扱う場合は、セッターメソッドを作成する。
ECサイトの購入個数とか

<?php
class shoppingcart{
private orderCount=0;
public function setOrderCount($orderCount){
 $this->orderCount = $orderCount;
}
}
?>