Manipulering av objekt i klasser i OOP i JavaScript
Klasser kan i sina metoder ta emot objekt från andra klasser och manipulera dessa objekt. Låt oss titta på ett exempel. Antag att vi har följande klass:
class User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Antag att vi bestämmer oss för att skapa en klass som kommer att manipulera en samling av användarobjekt:
class UsersCollection {
}
Vi kommer att lagra användarobjekten i form av en array i en privat egenskap:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
Låt oss skapa en metod för att lägga till en ny användare i arrayen:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
Och nu skapar vi en metod som skriver ut alla användares namn i konsolen:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
Låt oss titta på hur vår klass fungerar. Låt oss först skapa ett objekt av den:
let uc = new UsersCollection;
Nu lägger vi till några användare i vår samling:
uc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
Och nu anropar vi metoden som skriver ut alla användares namn i konsolen:
uc.show();
Skapa klassen EmployeesCollection,
som kommer att innehålla en array med anställda.
Skapa en metod i denna klass för att lägga till en ny anställd.
Skapa en metod i denna klass för att skriva ut alla anställda.
Skapa en metod i denna klass för att beräkna den totala lönesumman för alla anställda.
Skapa en metod i denna klass för att beräkna medellönen för alla anställda.