ობიექტების მანიპულირება კლასებში OOP-ში 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,
რომელიც შეიცავს თანამშრომლების მასივს.
შექმენით ამ კლასში მეთოდი ახალი თანამშრომლის დასამატებლად.
შექმენით ამ კლასში მეთოდი ყველა თანამშრომლის გამოსატანად.
შექმენით ამ კლასში მეთოდი ყველა თანამშრომლის საერთო ხელფასის გამოსათვლელად.
შექმენით ამ კლასში მეთოდი ყველა თანამშრომლის საშუალო ხელფასის გამოსათვლელად.