Маніпуляцыя аб'ектамі ў класах у ААП у JavaScript
Класы параметрамі метадаў могуць прымаць аб'екты іншых класаў і маніпуляваць гэтымі аб'ектамі. Давайце паглядзім на прыкладзе. Хай у нас ёсць наступны клас:
class User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Хай мы вырашылі зрабіць клас, які будзе маніпуляваць наборам аб'ектаў з карыстальнікамі:
class UsersCollection {
}
Будзем захоўваць аб'екты з карыстальнікамі у выглядзе масіва ў прыватнай уласцівасці:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
Зробім метад для дадавання новага карыстальніка ў масіў:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
А цяпер зробім метад, які вывядзе ў кансоль імёны ўсіх карыстальнікаў:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
Давайце паглядзім на працу нашага класа. Для пачатку створым яго аб'ект:
let uc = new UsersCollection;
Цяпер дадамо ў нашу калекцыю некалькі карыстальнікаў:
uc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
А цяпер выклічам метад, які вывядзе ў кансоль імёны ўсіх карыстальнікаў:
uc.show();
Зрабіце клас EmployeesCollection,
які будзе ўтрымліваць масіў работнікаў.
Зрабіце ў гэтым класе метад для дадавання новага работніка.
Зрабіце ў гэтым класе метад для вываду ўсіх работнікаў.
Зрабіце ў гэтым класе метад для разліку сумарнай заробчнай платы ўсіх работнікаў.
Зрабіце ў гэтым класе метад для разліку сярэдняй заробчнай платы ўсіх работнікаў.