Objektu manipulācija klasēs OOP JavaScript

Klases kā metožu parametri var pieņemt citu klases objektus un manipulēt ar šiem objektiem. Apskatīsim piemērā. Pieņemsim, ka mums ir šāda klase:

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

Pieņemsim, ka mēs nolēmām izveidot klasi, kas manipulēs ar lietotāju objektu kopu:

javascriptclass UsersCollection {
  
}

Glabāsim lietotāju objektus masīva veidā privātā īpašumā:

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

Izveidosim metodi jauna lietotāja pievienošanai masīvam:

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

Un tagad izveidosim metodi, kas izvadīs konsolē visu lietotāju vārdus:

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

Apskatīsim mūsu klases darbību. Vispirms izveidosim tās objektu:

javascriptlet uc = new UsersCollection;

Tagad pievienosim mūsu kolekcijai vairākus lietotājus:

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

Un tagad izsauksim metodi, kas izvadīs konsolē visu lietotāju vārdus:

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

Izveidojiet klasi EmployeesCollection, kura saturēs darbinieku masīvu.

Задание 2

Izveidojiet šajā klasē metodi jauna darbinieka pievienošanai.

Задание 3

Izveidojiet šajā klasē metodi visu darbinieku izvadīšanai.

Задание 4

Izveidojiet šajā klasē metodi visu darbinieku kopējās algas aprēķināšanai.

Задание 5

Izveidojiet šajā klasē metodi visu darbinieku vidējās algas aprēķināšanai.