Maison  >  Article  >  développement back-end  >  Résumé de plusieurs aspects de l'héritage orienté objet en php

Résumé de plusieurs aspects de l'héritage orienté objet en php

黄舟
黄舟original
2017-07-02 11:24:201003parcourir

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 &#39;people---construct<br>&#39;;
			$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 &#39;people---&#39;;
		}
	}
//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 &#39;Student--construct<br>&#39;;
			$this->name = $name;
			$this->sex = $sex;
			$this->birthday = $birthday;
			$this->s_num = $num;
			$this->s_class = $class;
		}
		public function showInfo(){
			return &#39;sutdent---&#39;.$this->name.&#39;----bir=&#39;.$this->birthday
			.&#39;num==&#39;.$this->s_num.&#39;----class==&#39;.$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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn