多态是面向对象编程中的一个核心概念,PHP 支持多态。它提供了一种机制,允许使用一个接口来表示不同的底层形式,使不同的对象能够根据其数据类型进行不同的处理。在 PHP 中,多态可以通过继承和接口实现。例如,你可能有一个父类 'Shape' 和子类 'Circle'、'Rectangle' 等。它们都可以有一个 'draw' 方法,但实现方式不同。这不仅限于类;你还可以通过接口使用多态,即实现相同接口的不同类,每个类对同一方法有不同的代码实现。
以下是一个展示此概念的小示例代码:
<?php interface Shape { public function draw(); }
class Circle implements Shape { public function draw() { echo "Draw a circle"; } }
class Rectangle implements Shape { public function draw() { echo "Draw a rectangle"; } }
function drawShape(Shape $shape) { $shape->draw(); }
drawShape(new Circle());
drawShape(new Rectangle());
?>
这提供了一种可扩展的方式来添加更多形状,因为你只需要遵循 'Shape' 接口即可。