Manipulering av objekter i klasser i OOP i PHP

Klasser kan ta imot objekter fra andre klasser som parametre til metoder og manipulere disse objektene. La oss se på et eksempel. Anta at vi har følgende klasse:

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

Anta at vi bestemte oss for å lage en klasse som skal manipulere et sett med brukerobjekter:

php<?php
  class UsersCollection {
    
  }
?>

Vi vil lagre brukerobjekter i form av en array i en privat egenskap:

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

La oss lage en metode for å legge til en ny bruker i arrayen:

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

Og nå lager vi en metode som skriver ut navnene til alle brukerne:

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

La oss se på hvordan klassen vår fungerer. Først oppretter vi et objekt av den:

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

Nå legger vi til flere brukere i samlingen vår:

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

Og nå kaller vi metoden som skriver ut navnene til alle brukerne:

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

Lag klassen EmployeesCollection, som skal inneholde en array av ansatte.

Задание 2

Lag en metode i denne klassen for å legge til en ny ansatt.

Задание 3

Lag en metode i denne klassen for å skrive ut alle ansatte.

Задание 4

Lag en metode i denne klassen for å beregne total lønn for alle ansatte.

Задание 5

Lag en metode i denne klassen for å beregne gjennomsnittslønn for alle ansatte.