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 классини ясанг,
у ишчилар массивини ўз ичига олади.
Ушбу классда янги ишчини қўшиш учун метод ясанг.
Ушбу классда барча ишчиларни чиқариш учун метод ясанг.
Ушбу классда барча ишчиларнинг жами маошини хисоблаш учун метод ясанг.
Ушбу классда барча ишчиларнинг ўртача маошини хисоблаш учун метод ясанг.