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さん
こんにちは