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();
?>
এই কোডটি অবজেক্ট তৈরি করার স্থানেই কল করার মাধ্যমে পুনরায় লিখুন।