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