Manipulation af objekter i klasser i OOP i PHP

Klasser som parameter til metoder kan tage objekter fra andre klasser og manipulere disse objekter. Lad os se på et eksempel. Lad os sige, 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;
    }
  }
?>

Lad os sige, at vi besluttede at lave en klasse, som vil manipulere et sæt af objekter med brugere:

php<?php
  class UsersCollection {
    
  }
?>

Vi vil gemme objekter med brugere i form af et array i en privat egenskab:

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

Lad os lave en metode til at tilføje en ny bruger til arrayet:

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

Og nu laver vi en metode, som vil vise alle brugernes navne:

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

Lad os se på vores klasses funktion. Lad os først oprette dens objekt:

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

Nu tilføjer vi flere brugere til vores samling:

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

Og nu kalder vi metoden, som vil vise alle brugernes navne:

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

Lav klassen EmployeesCollection, som vil indeholde en array af medarbejdere.

Задание 2

Lav en metode i denne klasse til at tilføje en ny medarbejder.

Задание 3

Lav en metode i denne klasse til at vise alle medarbejdere.

Задание 4

Lav en metode i denne klasse til at beregne den samlede løn for alle medarbejdere.

Задание 5

Lav en metode i denne klasse til at beregne den gennemsnitlige løn for alle medarbejdere.