PHP におけるポリモーフィズムの概念とコード例
オブジェクト指向プログラミングでは、ポリモーフィズムは重要な概念です。ポリモーフィズムにより、オブジェクトごとに異なる応答が可能になります。同じメッセージに。 PHP では、インターフェイスと継承を通じてポリモーフィズムを実現できます。次に、具体的なコード例を通して、PHP におけるポリモーフィズムの概念を分析します。
最初に、calculateArea
メソッドを含むインターフェイス Shape
を作成します。
interface Shape { public function calculateArea(); }
次に、2 つのクラス Circle# を作成します。 ## と
Square は、それぞれ
Shape インターフェイスを実装します。
class Circle implements Shape { private $radius; public function __construct($radius) { $this->radius = $radius; } public function calculateArea() { return round(pi() * pow($this->radius, 2), 2); } } class Square implements Shape { private $sideLength; public function __construct($sideLength) { $this->sideLength = $sideLength; } public function calculateArea() { return pow($this->sideLength, 2); } }次に、実装を受け入れる関数
getShapeArea を作成します。
Shape インターフェイスをパラメータとして使用し、その
calculateArea メソッドを呼び出して面積を計算します。
function getShapeArea(Shape $shape) { return $shape->calculateArea(); }これで、
Circle と ## を作成できます。 #Square
オブジェクトを作成し、getShapeArea
関数を呼び出してその面積を計算します。 <pre class='brush:php;toolbar:false;'>$circle = new Circle(5);
$square = new Square(4);
echo "圆的面积:" . getShapeArea($circle) . ";"; // 输出:圆的面积:78.54;
echo "正方形的面积:" . getShapeArea($square) . "。"; // 输出:正方形的面积:16。</pre>
上記のコード例では、
と Square
クラスはそれぞれ Shape
インターフェイスを実装し、特定の形状に基づいて面積を計算する calculateArea
メソッドをカバーします。 getShapeArea
関数を呼び出してさまざまなオブジェクトを渡すことにより、さまざまなオブジェクト インスタンスに基づいたポリモーフィズムを実現します。 要約すると、PHP のポリモーフィズムはインターフェイスと継承を通じて実装され、異なるオブジェクトが同じメッセージに対して異なる応答を行うことができるため、コードのスケーラビリティと柔軟性が向上します。適切な設計と実装により、ポリモーフィズムを最大限に活用してコード構造を簡素化し、コードの再利用性を向上させることができます。
以上がPHP のポリモーフィズムの概念を分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。