Manipulation af objekter i klasser i OOP i JavaScript

Klasser kan som parametre til metoder tage imod objekter fra andre klasser og manipulere disse objekter. Lad os se på et eksempel. Lad os sige, at vi har følgende klasse:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  getName() {
    return this.#name;
  }
}

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

javascriptclass UsersCollection {
  
}

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

javascriptclass UsersCollection {
  #users;
  
  constructor() {
    this.#users = [];
  }
}

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

javascriptclass UsersCollection {
  #users;
  
  constructor() {
    this.#users = [];
  }
  add(user) {
    this.#users.push(user);
  }
}

Og nu laver vi en metode, som udskriver alle brugernes navne i konsollen:

javascriptclass UsersCollection {
  #users;
  
  constructor() {
    this.#users = [];
  }
  add(user) {
    this.#users.push(user);
  }
  show() {
    for (let user of this.#users) {
      console.log(user.getName());
    }
  }
}

Lad os se på, hvordan vores klasse fungerer. Lad os først oprette dens objekt:

javascriptlet uc = new UsersCollection;

Nu tilføjer vi flere brugere til vores samling:

javascriptuc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));

Og nu kalder vi metoden, som udskriver alle brugernes navne i konsollen:

javascriptuc.show();
Задание 1

Lav en klasse EmployeesCollection, som vil indeholde et 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 udskrive 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.