Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung mehrerer Aspekte der objektorientierten Vererbung in PHP

Zusammenfassung mehrerer Aspekte der objektorientierten Vererbung in PHP

黄舟
黄舟Original
2017-07-02 11:24:20958Durchsuche

Dieser Artikel fasst hauptsächlich mehrere Punkte zusammenPHP objektorientiertErbt :

//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;
		}
	}

Die beiden oben genannten Klassen, Student, erben die People-Klasse

Die Konstruktormethode der übergeordneten Klasse ist privat. Dies bedeutet, dass diese Klasse in Java nicht vererbt werden kann, in PHP jedoch zwar vererbt werden kann, eine Sache jedoch darin besteht, dass der Konstruktor der übergeordneten Klasse nicht in der Unterklasse Student

parent::construct($name,$sex,$birthday);

Andernfalls wird ein Fehler gemeldet. Wenn der Konstruktor der übergeordneten Klasse privat ist, muss die Unterklasse über einen eigenen Konstruktor verfügen klar geschrieben, sonst kann die Vererbung nicht erreicht werden.

Gleichzeitig besteht der Unterschied zu Java darin, dass eine Unterklasse eine übergeordnete Klasse erbt und die Unterklasse einen eigenen Konstruktor hat , der übergeordnete Konstruktor einer Klasse wird nur ausgeführt, wenn er vom Konstruktor einer Unterklasse aufgerufen wird.



Das obige ist der detaillierte Inhalt vonZusammenfassung mehrerer Aspekte der objektorientierten Vererbung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn