JavaScriptтеги ООПде класс объекттери менен иштөө
Класстардын методдору башка класстардын объекттерин кабыл алып, ал объекттер менен иштей алышат. Келгиле, мисалды карап көрөлү. Бизде төмөнкү класстар бар дейли:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Келгиле, колдонуучулардын объекттеринин жыйындысы менен иштей турган класс жасайлы:
javascriptclass UsersCollection {
}
Колдонуучу объекттерин массив түрүндө жашырын касиетте сактайлы:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
Массивге жаңы колдонуучу кошуу үчүн метод жасайлы:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
Анан бардык колдонуучулардын аттарын консолго чыгаруучу метод жасайлы:
javascriptclass UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
Келгиле, биздин класстын иштешин көрөлү. Ага чейин анын объектин түзөлү:
javascriptlet uc = new UsersCollection;
Эми биздин жыйындыга бир нече колдонуучу кошолу:
javascriptuc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
Анан бардык колдонуучулардын аттарын консолго чыгаруучу методду чакыралы:
javascriptuc.show();
EmployeesCollection деген класс жасагыла,
ал кызматкерлердин массивин камтыйт.
Бул класста жаңы кызматкерди кошуу үчүн метод жасагыла.
Бул класста бардык кызматкерлерди чыгаруу үчүн метод жасагыла.
Бул класста бардык кызматкерлердин жалпы эмгек акысын эсептөө үчүн метод жасагыла.
Бул класста бардык кызматкерлердин орточо эмгек акысын эсептөө үчүн метод жасагыла.