php:对象继承和多态的实例

黄舟
Lepaskan: 2023-03-12 11:20:02
asal
1129 orang telah melayarinya

本例用MyObject类生成了两个子类:Book和Elec,两个子类用不同的构造方法实例化了两个对象c_book和h_elec,并输出信息

<?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();
	
	
?>
Salin selepas log masuk

(1)子类继承了父类的所有成员变量和方法,包括构造函数。这就是继承的实现

(2)当子类被创建时,PHP会先在子类中查找构造方法。如果子类有自己的构造方法,PHP会优先调用子类的构造方法;当子类没有时,PHP则会调用父类的构造方法

(3)子类重写了父类的方法showMe(),所以两个对象虽然调用的都是showMe()方法,但返回的结果却是两个不同的信息 。这就是多态的体现


Atas ialah kandungan terperinci php:对象继承和多态的实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan