Maison > développement back-end > tutoriel php > 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

黄舟
Libérer: 2023-03-12 11:22:01
original
1038 Les gens l'ont consulté

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;;
		}
	}
Copier après la connexion
//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;
		}
	}
Copier après la connexion

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);
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal