Getters Ιδιοτήτων στην OOP στην JavaScript
Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση με ιδιωτικές ιδιότητες:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
Όπως βλέπετε, αυτές οι ιδιότητες ορίζονται μία φορά κατά τη δημιουργία του αντικειμένου. Ωστόσο, τώρα, αυτές οι ιδιότητες είναι αδύνατο να διαβαστούν, καθώς είναι ιδιωτικές και δεν υπάρχουν οι αντίστοιχες μέθοδοι για αυτό.
Ας φτιάξουμε για τις ιδιότητες μας ειδικές
μεθόδους που επιτρέπουν την ανάγνωση αυτών των ιδιοτήτων.
Τέτοιες μέθοδοι (οι οποίες ονομάζονται getters) πρέπει
να ξεκινούν με τη λέξη get, και στη συνέχεια πρέπει
να ακολουθεί το όνομα της ιδιότητας που διαβάζεται.
Ας φτιάξουμε τους getters των ιδιοτήτων μας:
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');
Ας διαβάσουμε αυτά τα δεδομένα, χρησιμοποιώντας τους getters:
console.log(user.getName());
console.log(user.getSurn());
Στην κλάση Employee φτιάξτε
τρεις ιδιωτικές ιδιότητες: όνομα, μισθό
και ηλικία.
Περάστε ως παράμετρο του constructor τις τιμές αυτών των ιδιοτήτων.
Φτιάξτε getters, που να εμφανίζουν τις τιμές καθεμιάς από τις ιδιότητες μας.