Манипулирање со објекти во класи во ООП во JavaScript
Класите како параметри на методи може да прифаќаат објекти од други класи и да манипулираат со тие објекти. Да погледнеме на пример. Нека имаме следнава класа:
class User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Да речеме дека решивме да направиме класа, која ќе манипулира со колекција од објекти корисници:
class UsersCollection {
}
Ќе ги чуваме објектите корисници во форма на низа во приватно својство:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
Да направиме метод за додавање на нов корисник во низата:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
И сега да направиме метод кој ќе ги испечати имињата на сите корисници во конзола:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
Да ја видиме работата на нашата класа. Прво да создадеме нејзин објект:
let uc = new UsersCollection;
Сега да додадеме во нашата колекција неколку корисници:
uc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
И сега да го повикаме методот кој ќе ги испечати во конзола имињата на сите корисници:
uc.show();
Направете класа EmployeesCollection,
која ќе содржи низа од вработени.
Направете во оваа класа метод за додавање на нов вработен.
Направете во оваа класа метод за печатење на сите вработени.
Направете во оваа класа метод за пресметување на вкупната плата на сите вработени.
Направете во оваа класа метод за пресметување на просечната плата на сите вработени.