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 деген класс жасагыла,
ал кызматкерлердин массивин камтыйт.
Бул класста жаңы кызматкерди кошуу үчүн метод жасагыла.
Бул класста бардык кызматкерлерди чыгаруу үчүн метод жасагыла.
Бул класста бардык кызматкерлердин жалпы эмгек акысын эсептөө үчүн метод жасагыла.
Бул класста бардык кызматкерлердин орточо эмгек акысын эсептөө үчүн метод жасагыла.