PHP да ООП да класслар объектлари билан ишлаш

Класс методлари параметрлари сифатида бошқа классларнинг объектларини қабул қилиши ва ушбу объектлар билан ишлаши мумкин. Келтирилган мисолга назар солайлик. Бизда куйидаги класс мавжуд деб фараз қилайлик:

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

Ушбу классда барча ишчиларнинг ўртача маошини хисоблаш учун метод яратинг.