PHP-তে OOP-তে ক্লাসের অবজেক্ট নিয়ে কাজ করা

পদ্ধতিগুলি ক্লাসের অবজেক্টগুলিকে অন্যান্য ক্লাসের প্যারামিটার হিসেবে গ্রহণ করতে পারে এবং সেই অবজেক্টগুলিকে নিয়ে কাজ করতে পারে। আসুন একটি উদাহরণ দেখি। ধরুন আমাদের নিম্নলিখিত ক্লাস আছে:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function getName() {
      return $this->name;
    }
  }
?>

ধরুন আমরা একটি ক্লাস তৈরি করার সিদ্ধান্ত নিয়েছি, যা ব্যবহারকারীদের অবজেক্টের একটি সেট নিয়ে কাজ করবে:

php<?php
  class UsersCollection {
    
  }
?>

ব্যবহারকারীদের অবজেক্টগুলি একটি প্রাইভেট প্রপার্টিতে অ্যারে আকারে সংরক্ষণ করব:

php<?php
  class UsersCollection {
    private $users;
    
    public function __construct() {
      $this->users = [];
    }
  }
?>

অ্যারেতে একটি নতুন ব্যবহারকারী যোগ করার জন্য একটি পদ্ধতি তৈরি করি:

php<?php
  class UsersCollection {
    private $users;
    
    public function __construct() {
      $this->users = [];
    }
    
    public function add($user) {
      $this->users[] = $user;
    }
  }
?>

এবং এখন একটি পদ্ধতি তৈরি করি যা সমস্ত ব্যবহারকারীর নাম প্রিন্ট করবে:

php<?php
  class UsersCollection {
    private $users;
    
    public function __construct() {
      $this->users = [];
    }
    
    public function add($user) {
      $this->users[] = $user;
    }
    
    public function show() {
      foreach ($this->users as $user) {
        echo $user->getName() . '<br>';
      }
    }
  }
?>

আসুন আমাদের ক্লাসের কাজ দেখি। প্রথমে এর একটি অবজেক্ট তৈরি করি:

php<?php
  $uc = new UsersCollection();
?>

এখন আমাদের কালেকশনে কয়েকটি ব্যবহারকারী যোগ করি:

php<?php
  $uc->add(new User('john'));
  $uc->add(new User('eric'));
  $uc->add(new User('kyle'));
?>

এবং এখন সেই পদ্ধতিটি কল করি যা সমস্ত ব্যবহারকারীর নাম প্রিন্ট করবে:

php<?php
  $uc->show();
?>
Задание 1

EmployeesCollection ক্লাস তৈরি করুন, যাতে কর্মচারীদের একটি অ্যারে থাকবে।

Задание 2

এই ক্লাসে একটি নতুন কর্মচারী যোগ করার জন্য একটি পদ্ধতি তৈরি করুন।

Задание 3

এই ক্লাসে সমস্ত কর্মচারী প্রিন্ট করার জন্য একটি পদ্ধতি তৈরি করুন।

Задание 4

এই ক্লাসে সমস্ত কর্মচারীর মোট বেতন গণনার জন্য একটি পদ্ধতি তৈরি করুন।

Задание 5

এই ক্লাসে সমস্ত কর্মচারীর গড় বেতন গণনার জন্য একটি পদ্ধতি তৈরি করুন।