PHP में OOP में ऑब्जेक्ट बनाने के तुरंत बाद मेथड कॉल करना
मान लीजिए कि हमारे पास एक क्लास Arr है, जो
संख्याओं की एक सरणी को संग्रहीत करती है और मेथड getSum की सहायता से
इन संख्याओं का योग निकाल सकती है।
संख्याएँ स्वयं एक सरणी के रूप में ऑब्जेक्ट के कंस्ट्रक्टर में
आती हैं, और मेथड add की सहायता से एक-एक करके
जोड़ी भी जा सकती हैं:
<?php
class Arr
{
private $numbers = [];
public function __construct($numbers)
{
$this->numbers = $numbers;
}
public function add($number)
{
$this->numbers[] = $number;
}
public function getSum()
{
return array_sum($this->numbers);
}
}
?>
यहाँ क्लास Arr के उपयोग का एक उदाहरण है:
<?php
$arr = new Arr([1, 2, 3]);
$arr->add(4);
$arr->add(5);
echo $arr->getSum(); // 15 प्रिंट करेगा
?>
ऐसा भी हो सकता है कि ऑब्जेक्ट बनाते समय हम सभी आवश्यक संख्याएँ पास कर दें, और फिर तुरंत उनका योग निकालना चाहें:
<?php
$arr = new Arr([1, 2, 3]);
echo $arr->getSum(); // 6 प्रिंट करेगा
?>
यदि हम ऑब्जेक्ट के साथ और कोई हेरफेर नहीं करने की योजना बना रहे हैं,
तो उपरोक्त कोड को छोटा किया जा सकता है: ऑब्जेक्ट बनाया जा सकता है और
तुरंत उसकी मेथड getSum को कॉल किया जा सकता है:
<?php
echo (new Arr([1, 2, 3]))->getSum(); // 6 प्रिंट करेगा
?>
<?php
class StringProcessor
{
private $str = '';
public function __construct($text)
{
$this->str = $text;
}
public function append($text)
{
$this->str .= $text;
return $this;
}
public function getValue()
{
return $this->str;
}
public function getLength()
{
return strlen($this->str);
}
}
?>
मान लीजिए कि इस क्लास के साथ निम्नलिखित तरीके से काम किया गया:
<?php
$str = new Str('aaa');
$str->append('bbb');
$str->append('ccc');
echo $str->getLength();
?>
इस कोड को मौके पर ही क्लास को कॉल करके फिर से लिखें।