PHP 多態,php多態_PHP教程

來源:互聯網
上載者:User

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)按字面上意思理解就是多種形狀。可以理解為多種表現形式,也即一個對外介面,多個內...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.