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:
class 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:
class UsersCollection {
}
Vi vil lagre objekter med brukere i form av en array i en privat egenskap:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
La oss lage en metode for å legge til en ny bruker i arrayen:
class 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:
class 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:
let uc = new UsersCollection;
Nå legger vi til flere brukere i samlingen vår:
uc.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:
uc.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.