ობიექტზე-ორიენტირებულ პროგრამირებაში თვისებების გეთერები JavaScript-ში

დავუშვათ გვაქვს შემდეგი კლასი პრივატული თვისებებით:

javascriptclass User {
  #name;
  #surn;
  
  constructor(name, surn) {
    this.#name = name;
    this.#surn = surn;
  }
}

როგორც ხედავთ, ეს თვისებები იწერება ერთხელ ობიექტის შექმნისას. ახლა, თუმცა, ამ თვისებების წაკითხვა შეუძლებელია, რადგან ისინი პრივატურია და არ არსებობს შესაბამისი მეთოდები ამისთვის.

მოდით შევქმნათ ჩვენი თვისებებისთვის სპეციალური მეთოდები, რომლებიც საშუალებას მოგვცემს წავიკითხოთ ეს თვისებები. ასეთ მეთოდებს (მათ გეთერებს უწოდებენ) უნდა იწყებოდეს სიტყვით get, შემდეგ კი უნდა მოყვებოდეს წასაკითხი თვისების სახელი.

მოდით შევქმნათ ჩვენი თვისებების გეთერები:

javascriptclass User {
  #name;
  #surn;
  
  constructor(name, surn) {
    this.#name = name;
    this.#surn = surn;
  }
  
  getName() {
    return this.#name;
  }
  
  getSurn() {
    return this.#surn;
  }
}

მოდით შევამოწმოთ მათი მუშაობა. შევქმნათ ობიექტი, პარამეტრად მივაწოდოთ მომხმარებლის მონაცემები:

javascriptlet user = new User('john', 'smit');

წავიკითხოთ ეს მონაცემები, გამოვიყენოთ გეთერები:

javascriptconsole.log(user.getName());
console.log(user.getSurn());
Задание 1

კლას Employee-ში შექმენით სამი პრივატული თვისება: სახელი, ხელფასი და ასაკი.

Задание 2

კონსტრუქტორს პარამეტრად გადაეცით ამ თვისებების მნიშვნელობები.

Задание 3

შექმენით გეთერები, რომლებიც გამოიტანენ ჩვენი თითოეული თვისების მნიშვნელობას.