PHP তে OOP(Object Oriented Programing) এর মাধ্যমে Calculator তৈরী করা

PHP তে Object Oriented Programing এর মাধ্যমে অনেক বড় এবং জটিল কাজ সহজেই করা যায়। আজকে আমরা শিখব কিভাবে Object Oriented Programing এর মাধ্যমে খুবই সাধারন ১টি Calculator তৈরী করা যায়।
কোডে যাওয়ার আগে বলে নেই যে, কিভাবে এই Calculator Class টি কাজ করবে। অমরা Calculator Class এর __construct ম্যাজিক ম্যাথডে ২টি নাম্বার পাঠাবো এবং এই ২ টি নাম্বার পরিবর্তীতে ২ টি Property তে গিয়ে সেভ হবে। এরপর যোগ, বিয়য়োগ, গুন এবং ভাগ করার জন্য ৪ টি মেথড নিব যেখানে ঐ ২টি Property নিয়ে ক্যালকুলেশন করে রেজাল্টটি রিটার্ন করবে। পরিবর্তীতে এই মেথড গুলো শুধুমাত্র কল করলেই আমাদের কাঙ্খিত রেজাল্ট চলে আসবে। চলুন শুরু করা যাক 🙂
প্রথমেই আমরা Calculator নামে ১টি ক্লাস নিব –

class Calculator {
}

এর ভিতরে প্রথমেই PHP এর ম্যাজিক মেথড __construct নিব যা কিনা ২ টি number গ্রহন করবে। এই নাম্বার ২ টি আমরা গ্রহন করব ভ্যারিয়েবল $x এবং $y দিয়ে। তারপর এই ২টি নাম্বার আবার এই Class ভিতর ২ টি Property টিতে গিয়ে সেভ হবে যাদের নাম হলো $number_1 এবং $number_2 যেমন-

// Define Property that can hold the number_1 and number_2 value
private $number_1;
private $number_2;
// Define construct
public function __construct ( $x, $y ) {
     $this->number_1 = $x;
    $this->number_2 = $y;
}

এর পর যোগ, বিয়োগ, গুন এবং ভাগ করার জন্য ৪ টি মেথড নিব যাদের নাম হলো – summation, subtraction, multiplication এবং division। মেযন আমরা যদি summation এর জন্য মেথড তৈরী করি তাহলে –

// Define summation function
public function summation () {
    return "Summation of {$this->number_1} + {$this->number_2} is = " . ( $this->number_1 + $this->number_2 );
}

এখানে summation মেথডের ভিতর $number_1 এবং $number_2 এই ২ টি Property টিকে যোগ করেছি –

$this->number_1 + $this->number_2

এবং যোগফল কে প্রথম ব্রাকেটরে ভিতর রেখেছি এই ভাবে –

( $this->number_1 + $this->number_2 )

এবং এই যোগফলের সাথে কিছু কথা বলে দিয়ে যে –

"Summation of {$this->number_1} + {$this->number_2} is = "

এই কোডে আমরা শুধু যোগফলের সাথে এই কথাটা কনকেট ( মানে একসাথে ) করে দিয়েছি। সবশেষ, সম্পূর্ন লাইটিকে আমরা return করে দিয়েছি। ব‍্যাস, summation মেথডের কাজ শেষ।
একই ভাবে আমরা subtraction, multiplication এবং division এর মেথড লিখব এভাবে –

// Define multiplication function
public function multiplication () {
    return "Multiplication of {$this->number_1} * {$this->number_2} is = " . ( $this->number_1 * $this->number_2 );
}
// Define subtraction function
public function subtraction () {
    return "Subtraction of {$this->number_1} - {$this->number_2} is = " . ( $this->number_1 - $this->number_2 );
}
// Define division function
public function division () {
    return "Division of {$this->number_1} / {$this->number_2} is = " . ( $this->number_1 / $this->number_2 );
}

এরপর এই Calculator ক্লাসের ১ টি Object তৈরী করব –

// Create calculator object
$calculator = new Calculator(5, 2);

এখানে খেয়াল করবেন যে, যখন object টি তৈরী করেছি তখন __construct ম্যাজিত মেথডে নাম্বার পাঠিয়েছি এই ভাবে new Calculator(5, 2);
এবার object টি $calculator নামের ভ্যারিয়েবলে সেভ করেছি যাতে করে এই object এর সকল Public মেথডগুলোকে সহজেই এক্সেস করতে পারি। তাহলে summation মেথডকে এক্সেস করতে হলে কি করব? হ্যা এভাবে লিখব –

// Call summation function
echo $calculator->summation();

ব্যস, আমাদের summation রেজাল্ট দেখাবে ৭। কেন? কারন ৫ আর ২ মিলে তো ৭ ই হয়, তাই না। এভাবে আমরা বাকি multiplication, subtraction এবং division মেথডগুলোকে কল করে রেজাল্ট পাবে।

Leave a Comment