이 문서에서는 PHP가 객체 지향inheriting인 경우의 몇 가지 사항을 주로 요약합니다.
//people.class.php class People{ private $name; private $sex; private $birthday; private function construct($name='',$sex='01',$birthday='1999-01-01'){ echo 'people---construct<br>'; $this->name = $name; $this->sex = $sex; $this->birthday = $birthday; } public function get($key){ return $this->$key; } public function set($value,$key){ $this->$key = $value; } public function show(){ return 'people---'; } }
//student.class.php class Student extends People{ private $s_num; private $s_class; public function construct($name,$sex,$birthday,$num,$class){ //parent::construct($name,$sex,$birthday); echo 'Student--construct<br>'; $this->name = $name; $this->sex = $sex; $this->birthday = $birthday; $this->s_num = $num; $this->s_class = $class; } public function showInfo(){ return 'sutdent---'.$this->name.'----bir='.$this->birthday .'num=='.$this->s_num.'----class=='.$this->s_class; } }
위의 두 클래스 학생은 People 클래스를 상속받습니다
구성 방법 부모 클래스는 Private입니다. 즉, Java에서는 이 클래스를 상속할 수 없지만 PHP에서는 이 클래스를 상속할 수 있지만 한 가지 문제는 부모 클래스의 생성자를 하위 클래스 Student
에서 호출할 수 없다는 것입니다.
parent::construct($name,$sex,$birthday);
그렇지 않으면 오류가 보고되고 상위 클래스의 생성자가 비공개인 경우 하위 클래스는 자체 생성자를 갖고 명확하게 작성해야 합니다. 그렇지 않으면 상속이 이루어질 수 없습니다.
동시에 Java와 다른 점은 하위 클래스가 상위 클래스를 상속하고 하위 클래스에 자체 생성자가 있는 경우 상위 클래스의 생성자가 하위 클래스 생성자에서 호출됩니다.
위 내용은 PHP의 객체지향 상속의 여러 측면 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!