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;
    }
  }
?>

අපගේ පංතියේ වෙනස් පරාමිති සංඛ්‍යාවක් නියම කිරීමට ප්‍රයත්න කළහොත් - එය සරලවම හැකි වන්නේ නැත: PHP දෝෂයක් ලබා දෙනු ඇත. මේ ආකාරයෙන් අපට අහම්බෙන් යම් පරාමිතියක් අමතක වීමට, හෝ අතිරික්ත පරාමිතියක් එකතු කිරීමට නොහැකි වනු ඇත.

Задание 1

අපට iUser අන්තර්මුඛයක් ලබා දී ඇතැයි සිතමු:

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

User පංතියක් සාදන්න, එය මෙම අන්තර්මුඛය ක්‍රියාත්මක කරයි.