PHP में OOP के अंदर क्लास में स्टैटिक मेथड्स
यदि आप क्लास के अंदर स्टैटिक मेथड्स का उपयोग करना चाहते हैं,
तो उन्हें $this-> के माध्यम से एक्सेस नहीं करना चाहिए,
बल्कि self:: की सहायता से करना चाहिए।
उदाहरण के लिए, आइए अपनी क्लास Math में
getDoubleSum मेथड जोड़ें, जो नंबर्स का
दोगुना योग ढूंढेगा। नए मेथड के अंदर पहले से मौजूद मेथड
getSum का उपयोग करेंगे:
<?php
class Math
{
// दोगुना योग ढूंढते हैं:
public static function getDoubleSum($a, $b)
{
return 2 * self::getSum($a, $b); // दूसरे मेथड का उपयोग करते हैं
}
public static function getSum($a, $b)
{
return $a + $b;
}
public static function getProduct($a, $b)
{
return $a * $b;
}
}
?>
आइए नए मेथड का उपयोग करें:
<?php
echo Math::getDoubleSum(1, 2);
?>
निम्नलिखित क्लास के मेथड्स को स्टैटिक में बदलें:
<?php
class ArraySumHelper
{
public function getSum1($arr)
{
return $this->getSum($arr, 1);
}
public function getSum2($arr)
{
return $this->getSum($arr, 2);
}
public function getSum3($arr)
{
return $this->getSum($arr, 3);
}
public function getSum4($arr)
{
return $this->getSum($arr, 4);
}
private function getSum($arr, $power) {
$sum = 0;
foreach ($arr as $elem) {
$sum += pow($elem, $power);
}
return $sum;
}
}
?>