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();
Izveidojiet klasi EmployeesCollection,
kura saturēs darbinieku masīvu.
Izveidojiet šajā klasē metodi jauna darbinieka pievienošanai.
Izveidojiet šajā klasē metodi visu darbinieku izvadīšanai.
Izveidojiet šajā klasē metodi visu darbinieku kopējās algas aprēķināšanai.
Izveidojiet šajā klasē metodi visu darbinieku vidējās algas aprēķināšanai.