Objektumok kezelése osztályokban az OOP-ben JavaScriptben
Az osztályok metódusai paraméterként fogadhatnak más osztályok objektumait és kezelhetik ezeket az objektumokat. Nézzünk egy példát. Tegyük fel, hogy a következő osztályunk van:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Tegyük fel, hogy elhatároztuk, hogy készítünk egy osztályt, amely a felhasználói objektumok gyűjteményét fogja kezelni:
javascriptclass UsersCollection {
}
A felhasználói objektumokat tömb formájában tároljuk egy privát tulajdonságban:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
Készítsünk egy metódust egy új felhasználó hozzáadására a tömbhöz:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
Most készítsünk egy metódust, amely kiírja az összes felhasználó nevét a konzolra:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
Nézzük meg az osztályunk működését. Először hozzunk létre egy objektumot belőle:
javascriptlet uc = new UsersCollection;
Most adjunk hozzá néhány felhasználót a gyűjteményünkhöz:
javascriptuc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
És most hívjuk meg a metódust, amely kiírja az összes felhasználó nevét a konzolra:
javascriptuc.show();
Készítsen egy EmployeesCollection osztályt,
amely alkalmazottak tömbjét fogja tartalmazni.
Készítsen ebben az osztályban egy metódust új alkalmazott hozzáadására.
Készítsen ebben az osztályban egy metódust az összes alkalmazott kilistázására.
Készítsen ebben az osztályban egy metódust az összes alkalmazott összfizetésének kiszámítására.
Készítsen ebben az osztályban egy metódust az összes alkalmazott átlagfizetésének kiszámítására.