ობიექტზე-ორიენტირებულ პროგრამირებაში თვისებების გეთერები JavaScript-ში
დავუშვათ გვაქვს შემდეგი კლასი პრივატული თვისებებით:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
როგორც ხედავთ, ეს თვისებები იწერება ერთხელ ობიექტის შექმნისას. ახლა, თუმცა, ამ თვისებების წაკითხვა შეუძლებელია, რადგან ისინი პრივატურია და არ არსებობს შესაბამისი მეთოდები ამისთვის.
მოდით შევქმნათ ჩვენი თვისებებისთვის სპეციალური
მეთოდები, რომლებიც საშუალებას მოგვცემს წავიკითხოთ ეს თვისებები.
ასეთ მეთოდებს (მათ გეთერებს უწოდებენ) უნდა
იწყებოდეს სიტყვით get, შემდეგ კი უნდა
მოყვებოდეს წასაკითხი თვისების სახელი.
მოდით შევქმნათ ჩვენი თვისებების გეთერები:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
მოდით შევამოწმოთ მათი მუშაობა. შევქმნათ ობიექტი, პარამეტრად მივაწოდოთ მომხმარებლის მონაცემები:
let user = new User('john', 'smit');
წავიკითხოთ ეს მონაცემები, გამოვიყენოთ გეთერები:
console.log(user.getName());
console.log(user.getSurn());
კლას Employee-ში შექმენით
სამი პრივატული თვისება: სახელი, ხელფასი
და ასაკი.
კონსტრუქტორს პარამეტრად გადაეცით ამ თვისებების მნიშვნელობები.
შექმენით გეთერები, რომლებიც გამოიტანენ ჩვენი თითოეული თვისების მნიშვნელობას.