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; } } ?>