PHP 多態,php多態
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 {
public function draw() {
print "Triangle::draw()\n";
}
}
/**
* Rectangle
*
* @uses Shape
* @version 1.0
* @copyright
*/
class Rectangle implements Shape {
public function draw() {
print "Rectangle::draw()\n";
}
}
/**
* Test Polymorphism
*
* @version 1.0
* @copyright
*/
class TestPoly {
public function drawNow($shape) {
$shape->draw();
}
}
$test = new TestPoly();
$test->drawNow(new Triangle());
$test->drawNow(new Rectangle());
?>
http://www.bkjia.com/PHPjc/1119060.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1119060.htmlTechArticlePHP 多態,php多態 1.什麼是多態 多 態(Polymorphism)按字面上意思理解就是多種形狀。可以理解為多種表現形式,也即一個對外介面,多個內...