Manipulatie van objecten in klassen in OOP in PHP

Klassen kunnen objecten van andere klassen als parameters van methoden accepteren en deze objecten manipuleren. Laten we een voorbeeld bekijken. Stel dat we de volgende klasse hebben:

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

Stel dat we besloten hebben om een klasse te maken die een reeks objecten met gebruikers zal manipuleren:

php<?php
  class UsersCollection {
    
  }
?>

We slaan de objecten met gebruikers op als een array in een private eigenschap:

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

Laten we een methode maken om een nieuwe gebruiker aan de array toe te voegen:

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

En laten we nu een methode maken die de namen van alle gebruikers weergeeft:

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

Laten we de werking van onze klasse bekijken. Laten we eerst een object ervan maken:

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

Laten we nu enkele gebruikers toevoegen aan onze collectie:

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

En laten we nu de methode aanroepen die de namen van alle gebruikers weergeeft:

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

Maak een klasse EmployeesCollection, die een array met werknemers zal bevatten.

Задание 2

Maak in deze klasse een methode om een nieuwe werknemer toe te voegen.

Задание 3

Maak in deze klasse een methode om alle werknemers weer te geven.

Задание 4

Maak in deze klasse een methode voor de berekening van het totale salaris van alle werknemers.

Задание 5

Maak in deze klasse een methode voor de berekening van het gemiddelde salaris van alle werknemers.