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 ক্লাসটি তৈরি করুন।