PHP OOP හි අන්තර්මුඛ ක්රමවල පරාමිතීන්
අන්තර්මුඛවල ක්රම විස්තර කිරීමේදී, ක්රමවල නම් පමණක් නොව, ඒවායේ පරාමිතීන් ද දැක්විය යුතුය.
අපි උදාහරණයක් බලමු. අපට iMath අන්තර්මුඛයක් ඇතැයි සිතමු,
එය ගණිතමය ක්රියා සඳහා වන පංතියක් විස්තර කරයි:
එකතු කිරීම, අඩු කිරීම,
ගුණ කිරීම සහ බෙදීම. මෙම අන්තර්මුඛය
මෙලෙස පෙනෙනු ඇතැයි සිතමු:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
දැනට අපගේ අන්තර්මුඛයේ ක්රම කිසිදු පරාමිතියක් පිළිගන්නේ නැත. ඇත්ත වශයෙන්ම, මෙම අන්තර්මුඛය ක්රියාත්මක කරන පංතියේ ක්රම ද පරාමිතීන් පිළිගත යුතු නොවේ, නැතහොත් දෝෂයක් ඇති වේ.
දැන් අපි අපගේ අන්තර්මුඛයේ ක්රමවල පරාමිතීන් දක්වමු:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
දැන් අපි අපගේ අන්තර්මුඛය ක්රියාත්මක කරමු:
<?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 දෝෂයක් ලබා දෙනු ඇත. මේ ආකාරයෙන් අපට අහම්බෙන් යම් පරාමිතියක් අමතක වීමට, හෝ අතිරික්ත පරාමිතියක් එකතු කිරීමට නොහැකි වනු ඇත.
අපට iUser අන්තර්මුඛයක් ලබා දී ඇතැයි සිතමු:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
User පංතියක් සාදන්න, එය
මෙම අන්තර්මුඛය ක්රියාත්මක කරයි.