PHPのおさらい3 オーバーライド

<!DOCTYPE html>
<html lang="ja">
<body>
	<p><?php echo "classのオーバーライド" ?></p>
</body>
</html>

<?php
/*---------------------
class オーバーライド(子クラスで上書き)
---------------------*/
class Roster{
	public $name; //変数(プロパティ)	
	public function __construct($name){//コンストラクタ 引数はインスタンスを作る時に渡される名前
		$this->name =$name;
		//(このクラスの中のプロパティに値をセットする)
	}
   //final public function hallow(){//子クラスのオーバーライドを禁止したい場合finalをつける
	public function hallow(){//関数(メソッド)
		echo $this->name."さん<br>";
	}
}

//継承
class Subroster extends  Roster{
	public function greeting(){
		echo "こんにちは";
	}
	//オーバーライド 子クラスから親クラスのメソッドやプロパティを上書きする。
	//override 親クラスと同じメソッド名にする
	public function hallow(){//関数(メソッド)
		echo "hallowから呼び出し⇒".$this->name."さん<br>";
	}
}

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

echo $ichiro->name."<br>";  //名前を表示 クラスにアクセス
$jiro->hallow();//名前を呼ぶ
$saburo-> hallow();//オーバーライドすると上書きをしているので、この表示が変わる
$saburo-> greeting();

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

classのオーバーライド

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