PHPのおさらい4 アクセス権

<!DOCTYPE html>
<html lang="ja">
<body>
	<p><?php echo "アクセス権" ?></p>
</body>
</html>

<?php
/*---------------------
アクセス権
public		どこからでもアクセス可能
protected 	同じくらい+親子クラス内からのみアクセス可能
private		同じクラス内からのみアクセス可能
---------------------*/
class Roster{
	protected $name; //変数(プロパティ)	
	//private $name; 
	//public $name; 
	public function __construct($name){
		$this->name =$name;
	}
	public function hallow(){//関数(メソッド)
		echo $this->name."さん<br>";
	}
}

//継承
class Subroster extends  Roster{
	public function greeting(){
		echo "こんにちは";
	}

	public function hallow(){
	//↓private $name; にすると$this->name.は子クラスからアクセスできないのでエラー
		echo "hallowから呼び出し⇒".$this->name."さん<br>";
	}
}

$ichiro =new Roster('ichiro');
$jiro=new Roster('jiro');
$saburo=new Subroster('saburo');

//↓protected $name;にするとエラー 親クラスを直接アクセスできない
//echo $ichiro->name."<br>";  
$jiro->hallow();//名前を呼ぶ
$saburo-> hallow();
$saburo-> greeting();

//////////////////////////////
表示結果↓

jiroさん
hallowから呼び出し⇒saburoさん
こんにちは