PHP में OOP के इंटरफेस मेथड्स में पैरामीटर्स

इंटरफेस में मेथड्स का वर्णन करते समय केवल मेथड्स के नाम ही नहीं, बल्कि उनके द्वारा लिए गए पैरामीटर्स भी निर्दिष्ट करना आवश्यक है।

आइए एक उदाहरण देखें। मान लीजिए कि हमारे पास इंटरफेस iMath है, जो गणितीय संक्रियाओं - जोड़, घटाव, गुणा और भाग - के लिए क्लास का वर्णन करता है। मान लीजिए कि यह इंटरफेस इस तरह दिखता है:

iMath.php<?php
  interface iMath
  {
    public function sum();
    public function subtract();
    public function multiply();
    public function divide();
  }
?>

अभी हमारे इंटरफेस की मेथड्स कोई पैरामीटर्स नहीं ले रही हैं। और वास्तव में, जो क्लास इस इंटरफेस को लागू करेगी, उसकी मेथड्स को भी कोई पैरामीटर्स नहीं लेने होंगे, अन्यथा एक त्रुटि होगी।

आइए अब हम अपने इंटरफेस में मेथड्स के पैरामीटर्स निर्दिष्ट करें:

iMath.php<?php
  interface iMath
  {
    public function sum($a, $b);
    public function subtract($a, $b);
    public function multiply($a, $b);
    public function divide($a, $b);
  }
?>

आइए अब हम अपने इंटरफेस का कार्यान्वयन लिखें:

Math.php<?php
  class Math implements iMath
  {
    public function sum($a, $b)
    {
      return $a + $b;
    }
    
    public function subtract($a, $b)
    {
      return $a - $b;
    }
    
    public function multiply($a, $b)
    {
      return $a * $b;
    }
    
    public function divide($a, $b)
    {
      return $a / $b;
    }
  }
?>

यदि हमारी क्लास में पैरामीटर्स की अलग संख्या निर्धारित करने का प्रयास करें - तो हम ऐसा कर simply नहीं पाएंगे: PHP एक त्रुटि देगा। इस प्रकार हम न तो गलती से कोई पैरामीटर भूल सकते हैं, न ही गलती से कोई अतिरिक्त पैरामीटर जोड़ सकते हैं।

Задание 1

मान लीजिए कि हमें इंटरफेस iUser दिया गया है:

php<?php
  interface iUser
  {
    public function setName($name);
    public function getName();
    public function setAge($age);
    public function getAge();
  }
?>

क्लास User बनाएं, जो इस इंटरफेस को लागू करेगी।