Объектҳои манипулятсиякунӣ дар классҳо дар ООП дар 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 созед,
ки массиви кормандонро дар бар мегирад.
Дар ин классе усуле барои илова кардани корманди нав созед.
Дар ин классе усуле барои чоп кардани ҳамаи кормандон созед.
Дар ин классе усуле барои ҳисоб кардани маблағи умумии маоши ҳамаи кормандон созед.
Дар ин классе усуле барои ҳисоб кардани миёнаи маоши ҳамаи кормандон созед.