PHPのOOPにおけるクラス内オブジェクト操作

クラスのメソッドは、他のクラスのオブジェクトを受け取り、 それらのオブジェクトを操作することができます。 例を見てみましょう。 次のクラスがあるとします:

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

このクラスに、すべての従業員の 平均給与を計算するメソッドを 作成してください。