Heim  >  Artikel  >  Backend-Entwicklung  >  php: Beispiele für Objektvererbung und Polymorphismus

php: Beispiele für Objektvererbung und Polymorphismus

黄舟
黄舟Original
2017-07-02 11:22:251133Durchsuche

In diesem Beispiel wird die MyObject-Klasse verwendet, um zwei Unterklassen zu generieren: Book und Elec. Die beiden Unterklassen verwenden unterschiedliche Konstruktionsmethoden, um zwei Objekte c_book und h_elec zu instanziieren und Informationen auszugeben

<?php

	/*父类*/
	class MyObject{
		
		public $object_name;								//名称
		public $object_price;								//价格
		public $object_num;									//数量
		public $object_agio;								//折扣
		
		function construct($name,$price,$num,$agio){
			
			$this -> object_name = $name;
			$this -> object_price = $price;
			$this -> object_num = $num;
			$this -> object_agio = $agio;
			
			
		}
		
		function showMe(){
			echo &#39;这句话不会显示。&#39;;
		}
		
	}
	/*  子类Book  */
	class Book extends MyObject{
		
		public $book_type;									//类别
		
		function construct($type,$num){
			
			$this -> book_type = $type;
			$this -> object_num = $num;
		}
		
		function showMe(){
			
			return &#39;本次新进&#39;.$this -> book_type.&#39;图书&#39;.$this -> object_num.&#39;<br>&#39;;
		}
	}
	/*  子类Elec  */
	class Elec extends MyObject{
	
		function showMe(){
			
			return &#39;热卖商品&#39;.$this -> object_name.&#39;<br>原价:&#39;.$this -> object_price.&#39;<br>特价:&#39;.$this -> object_agio * $this -> object_price;
		}
	}
	/*	实例化对象	*/
	$c_book = new Book(&#39;计算机类&#39;,1000);
	$h_elec = new Elec(&#39;待机王XX手机&#39;,1200,3,0.8);
	echo $c_book->showMe()."<br>";
	echo $h_elec->showMe();
	
	
?>

(1) Die Unterklasse erbt alle Mitgliedsvariablen und Methoden der übergeordneten Klasse, einschließlich des Konstruktors . Dies ist die Implementierung der Vererbung

(2) Wenn eine Unterklasse erstellt wird, sucht PHP zunächst nach der Konstruktormethode in der Unterklasse. Wenn die Unterklasse über einen eigenen Konstruktor verfügt, gibt PHP dem Aufruf des Konstruktors der Unterklasse Vorrang. Wenn die Unterklasse keinen eigenen Konstruktor hat, ruft PHP den Konstruktor der übergeordneten Klasse auf

(3) Die Unterklasse überschreibt den Die übergeordnete Klassenmethode showMe(). Obwohl beide Objekte die showMe()-Methode aufrufen, handelt es sich bei den zurückgegebenen Ergebnissen um zwei unterschiedliche Informationen. Dies ist die Verkörperung des Polymorphismus


Das obige ist der detaillierte Inhalt vonphp: Beispiele für Objektvererbung und Polymorphismus. 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