Manipulation von Objekten in Klassen in OOP in JavaScript
Klassen können in Methodenparametern Objekte anderer Klassen empfangen und diese Objekte manipulieren. Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Klasse:
class User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Nehmen wir an, wir haben beschlossen, eine Klasse zu erstellen, die einen Satz von Benutzerobjekten manipulieren wird:
class UsersCollection {
}
Wir speichern die Benutzerobjekte in Form eines Arrays in einer privaten Eigenschaft:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
Erstellen wir eine Methode zum Hinzufügen eines neuen Benutzers zum Array:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
Erstellen wir nun eine Methode, die die Namen aller Benutzer in der Konsole ausgibt:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
Schauen wir uns die Funktionsweise unserer Klasse an. Erstellen wir zunächst ihr Objekt:
let uc = new UsersCollection;
Fügen wir nun unserer Sammlung mehrere Benutzer hinzu:
uc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
Rufen wir nun die Methode auf, die die Namen aller Benutzer in der Konsole ausgibt:
uc.show();
Erstellen Sie eine Klasse EmployeesCollection,
die ein Array von Mitarbeitern enthalten wird.
Erstellen Sie in dieser Klasse eine Methode zum Hinzufügen eines neuen Mitarbeiters.
Erstellen Sie in dieser Klasse eine Methode zum Ausgeben aller Mitarbeiter.
Erstellen Sie in dieser Klasse eine Methode zur Berechnung der Gesamtgehälter aller Mitarbeiter.
Erstellen Sie in dieser Klasse eine Methode zur Berechnung des Durchschnittsgehalts aller Mitarbeiter.