1.什麼是多態
多 態(Polymorphism)以字面上理解就是「多種形狀」。可以理解為多種表現形式,也即「一個對外接口,多個內部實作方法」。在物件導向的理論 中,多態性的一般定義為:同一個操作作用於不同的類別的實例,將產生不同的執行結果。也即不同類別的物件收到相同的訊息時,將會得到不同的結果。
在實際的應用開發中,採用物件導向中的多態主要在於可以將不同的子類別物件都當作一個父類別來處理,並且可以屏蔽不同子類別物件之間所存在的差異,寫出通用的程式碼,做出通用的編程,以適應需求的不斷變化。
/**
* Shape Interface
*
* @version 1.0
* @copyright
* (1)使用介面(interface),你可以指定某個類別必須實作哪些方法,但不需要定義這些方法的具體內容。
* (2)我們可以透過interface來定義一個接口,就像定義一個標準的類別一樣,但其中定義所有的方法都是空的。
* (3)介面中定義的所有方法都必須是public,這是介面的特性
*/
interface Shape {
public function draw();
}
/**
* Triangle
*
* @uses Shape
* @version 1.0
* @copyright
* (1)要實現一個接口,可以使用implements操作符。類別中必須實作介面中定義的所有方法,否則 會報一個fatal錯誤。
* (2)如果要實現多個接口,可以用逗號來分隔多個接口的名稱。
*/
class Triangle implements Shape {
. print "Triangle::draw()n";
}
}
/**
* 長方形
*
* @uses Shape
* @version 1.0
* @copyright
*/
class Rectangle implements Shape {
public function draw() { print "Rectang }
}
/**
* 測試多態性
*
* @version 1.0
* @copyright
*/
class TestPoly {
public function drawNow($shape) {
$shape->draw();
->drawNow(new Triangle());
$test->drawNow(new Rectangle());
?>
以上就介紹了PHP 多態,包含了php方面的內容,希望對PHP教學有興趣的朋友有幫助。