Manipulacja obiektami w klasach w OOP w PHP

Klasy jako parametry metod mogą przyjmować obiekty innych klas i manipulować tymi obiektami. Spójrzmy na przykład. Załóżmy, że mamy następującą klasę:

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

Załóżmy, że postanowiliśmy utworzyć klasę, która będzie manipulować zbiorem obiektów użytkowników:

php<?php
  class UsersCollection {
    
  }
?>

Będziemy przechowywać obiekty użytkowników w postaci tablicy w prywatnej właściwości:

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

Stwórzmy metodę do dodawania nowego użytkownika do tablicy:

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

A teraz stwórzmy metodę, która wyświetli imiona wszystkich użytkowników:

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>';
      }
    }
  }
?>

Zobaczmy na działanie naszej klasy. Na początku stwórzmy jej obiekt:

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

Teraz dodajmy do naszej kolekcji kilku użytkowników:

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

A teraz wywołajmy metodę, która wyświetli imiona wszystkich użytkowników:

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

Stwórz klasę EmployeesCollection, która będzie zawierać tablicę pracowników.

Задание 2

Stwórz w tej klasie metodę do dodawania nowego pracownika.

Задание 3

Stwórz w tej klasie metodę do wyświetlania wszystkich pracowników.

Задание 4

Stwórz w tej klasie metodę do obliczania łącznej pensji wszystkich pracowników.

Задание 5

Stwórz w tej klasie metodę do obliczania średniej pensji wszystkich pracowników.