private protected

//親クラス
class ParentClass {
  private $privateVar = "parent private";
  protected $protectedVar = "parent Protected";
  public $publicVar = "parent public" ;

  protected function protectedFunc2(){
  	return $this->privateVar ;
  }

  protected function protectedFunc3(){
  	return $this->protectedVar ;
  }
}
//子クラス
class ChildClass extends ParentClass {
  //private $privateVar = "parent private";

	private $privateVar = "child private";
	protected $protectedVar = "child protected";

	public function childPublicFunc4(){
		return $this->protectedFunc2();
	}

	public function childPublicFunc5(){
		return $this->protectedFunc3();
	}

	public function childPublicFunc6(){
		return $this->privateVar;
	}
}

$c = new ChildClass();

var_dump($c->childPublicFunc4());
var_dump($c->childPublicFunc5());
var_dump($c->childPublicFunc6());
#!/usr/local/bin/php
string(14) "parent private"
string(15) "child protected"
string(13) "child private"