Cet article résume principalement plusieurs pointsPHP orienté objetHéritages :
//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; } }
Les deux classes ci-dessus, Student, héritent de la classe People
La méthode constructeur de la classe parent est privée. Cela signifie en Java que cette classe ne peut pas être héritée, mais en PHP, cette classe peut être héritée, mais une chose est que le constructeur de la classe parent ne peut pas être appelé dans la sous-classe Student
parent::construct($name,$sex,$birthday);
Sinon une erreur sera signalée, et si le constructeur de la classe parent est privé, la sous-classe doit avoir son propre constructeur, doit être écrit clairement, sinon l'héritage ne peut pas être obtenu.
En même temps, ce qui est différent de Java, c'est que lorsqu'une sous-classe hérite d'une classe parent et que la sous-classe a son propre constructeur , le parent Le constructeur d'une classe ne sera exécuté que s'il est appelé depuis le constructeur d'une sous-classe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!