JavaScript-da OOP-da Klass Ob'ektlari bilan Ishlash
Metodlar parametrlari sifatida boshqa klasslarning ob'ektlarini qabul qilishi va bu ob'ektlar bilan ishlashi mumkin. Keling, bir misolni ko'rib chiqaylik. Quyidagi klassimiz bor deb faraz qilaylik:
class User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Faraz qilaylik, foydalanuvchi ob'ektlari to'plami bilan ishlaydigan klass yaratmoqchimiz:
class UsersCollection {
}
Foydalanuvchi ob'ektlarini maxsus xususiyatda massiv ko'rinishida saqlaymiz:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
}
Yangi foydalanuvchini massivga qo'shish uchun metod yaratamiz:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
}
Endi barcha foydalanuvchilarning ismlarini konsolga chiqaradigan metod yaratamiz:
class UsersCollection {
#users;
constructor() {
this.#users = [];
}
add(user) {
this.#users.push(user);
}
show() {
for (let user of this.#users) {
console.log(user.getName());
}
}
}
Keling, klassimizning ishlashini ko'rib chiqaylik. Avval uning ob'ektini yaratamiz:
let uc = new UsersCollection;
Endi kolleksiyamizga bir nechta foydalanuvchi qo'shamiz:
uc.add(new User('john'));
uc.add(new User('eric'));
uc.add(new User('kyle'));
Endi barcha foydalanuvchilarning ismlarini konsolga chiqaradigan metodni chaqiramiz:
uc.show();
EmployeesCollection klassini yarating,
u xodimlar massivini o'z ichiga oladi.
Ushbu klassda yangi xodim qo'shish uchun metod yarating.
Ushbu klassda barcha xodimlarni chiqarish uchun metod yarating.
Ushbu klassda barcha xodimlarning umumiy maoshini hisoblash uchun metod yarating.
Ushbu klassda barcha xodimlarning o'rtacha maoshini hisoblash uchun metod yarating.