PHP හි OOP හි අන්තර්මුඛ ප්‍රයෝගික භාවිතය

අපි ප්‍රායෝගිකව අන්තර්මුඛ භාවිතය පරීක්ෂා කරමු. පෙර පාඩමේ ඇති රූප සටහන් ගැටලුව විසඳමු, නමුත් දැන් වියුක්ත පන්ති වෙනුවට අන්තර්මුඛ භාවිතා කරමු.

ඉතින්, දැන් අපට Figure අන්තර්මුඛය ලබා දී ඇත:

Figure.php<?php
  interface Figure
  {
    public function getSquare();
    public function getPerimeter();
  }
?>

අපි Quadrate පන්තිය ලියමු, එය මෙම අන්තර්මුඛයේ ක්‍රම ක්‍රියාත්මක කරයි:

Quadrate.php<?php
  class Quadrate implements Figure
  {
    private $a;
    
    public function __construct($a)
    {
      $this->a = $a;
    }
    
    public function getSquare()
    {
      return $this->a * $this->a;
    }
    
    public function getPerimeter()
    {
      return 4 * $this->a;
    }
  }
?>

කෙසේ වැඩ කරයිද: අන්තර්මුඛයේ විස්තර කර ඇති යම් ක්‍රමයක් ක්‍රියාත්මක කිරීමට අමතක වුවහොත්, PHP අපට අතිශය දෝෂයක් දක්වයි. අපි Rectangle පන්තිය ද ක්‍රියාත්මක කරමු:

Rectangle.php<?php
  class Rectangle implements Figure
  {
    private $a;
    private $b;
    
    public function __construct($a, $b)
    {
      $this->a = $a;
      $this->b = $b;
    }
    
    public function getSquare()
    {
      return $this->a * $this->b;
    }
    
    public function getPerimeter()
    {
      return 2 * ($this->a + $this->b);
    }
  }
?>
Задание 1

Figure අන්තර්මුඛය ක්‍රියාත්මක කරන Disk පන්තිය සාදන්න.