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 класын жасаңыз,
ол жұмысшылар массивін қамтиды.
Осы класта жаңа жұмысшы қосатын әдіс жасаңыз.
Осы класта барлық жұмысшыларды шығаратын әдіс жасаңыз.
Осы класта барлық жұмысшылардың жалпы жалақысын есептейтін әдіс жасаңыз.
Осы класта барлық жұмысшылардың орташа жалақысын есептейтін әдіс жасаңыз.