Getters Ιδιοτήτων στην OOP στην JavaScript

Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση με ιδιωτικές ιδιότητες:

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

Όπως βλέπετε, αυτές οι ιδιότητες ορίζονται μία φορά κατά τη δημιουργία του αντικειμένου. Ωστόσο, τώρα, αυτές οι ιδιότητες είναι αδύνατο να διαβαστούν, καθώς είναι ιδιωτικές και δεν υπάρχουν οι αντίστοιχες μέθοδοι για αυτό.

Ας φτιάξουμε για τις ιδιότητες μας ειδικές μεθόδους που επιτρέπουν την ανάγνωση αυτών των ιδιοτήτων. Τέτοιες μέθοδοι (οι οποίες ονομάζονται getters) πρέπει να ξεκινούν με τη λέξη get, και στη συνέχεια πρέπει να ακολουθεί το όνομα της ιδιότητας που διαβάζεται.

Ας φτιάξουμε τους getters των ιδιοτήτων μας:

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');

Ας διαβάσουμε αυτά τα δεδομένα, χρησιμοποιώντας τους getters:

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

Στην κλάση Employee φτιάξτε τρεις ιδιωτικές ιδιότητες: όνομα, μισθό και ηλικία.

Задание 2

Περάστε ως παράμετρο του constructor τις τιμές αυτών των ιδιοτήτων.

Задание 3

Φτιάξτε getters, που να εμφανίζουν τις τιμές καθεμιάς από τις ιδιότητες μας.