Manipulering av objekter i klasser i OOP i JavaScript
Klasser kan som parametere til metoder ta imot objekter fra andre klasser og manipulere disse objektene. La oss se på et eksempel. La oss si at vi har følgende klasse:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
La oss si at vi besluttet å lage en klasse, som vil manipulere et sett med objekter med brukere:
javascriptclass UsersCollection {
}
Vi vil lagre objekter med brukere i form av en array i en privat egenskap:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
La oss lage en metode for å legge til en ny bruker i arrayen:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
Og nå lager vi en metode som skriver ut navnene på alle brukerne til konsollen:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
La oss se på hvordan klassen vår fungerer. Først oppretter vi et objekt av den:
javascriptlet uc = new UsersCollection;
Nå legger vi til flere brukere i samlingen vår:
javascriptuc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
Og nå kaller vi metoden som skriver ut navnene på alle brukerne til konsollen:
javascriptuc.show();
Lag klassen EmployeesCollection,
som vil inneholde en array med ansatte.
Lag en metode i denne klassen for å legge til en ny ansatt.
Lag en metode i denne klassen for å skrive ut alle ansatte.
Lag en metode i denne klassen for å beregne total lønn for alle ansatte.
Lag en metode i denne klassen for å beregne gjennomsnittslønnen for alle ansatte.