Intern
Τι είναι ένας getter και ένας setter;
sobes.tech AI
Απάντηση από AI
Ένας getter και ένας setter είναι ειδικές μέθοδοι που χρησιμοποιούνται στον αντικειμενοστραφή προγραμματισμό για την πρόσβαση και την τροποποίηση των τιμών των ιδιωτικών (ή προστατευμένων) πεδίων μιας κλάσης.
Getter:
- Παρέχει ελεγχόμενη πρόσβαση για την ανάγνωση της τιμής του πεδίου.
- Συνήθως έχει όνομα που αρχίζει με
get(π.χ.,getName()). - Μπορεί να εκτελεί πρόσθετες ενέργειες πριν την επιστροφή της τιμής (π.χ., μορφοποίηση ή επικύρωση).
Setter:
- Παρέχει ελεγχόμενη πρόσβαση για την εγγραφή μιας νέας τιμής στο πεδίο.
- Συνήθως έχει όνομα που αρχίζει με
set(π.χ.,setName()). - Μπορεί να εκτελεί επικυρώσεις των εισερχόμενων δεδομένων πριν την ανάθεση της τιμής.
- Επιτρέπει την υλοποίηση λογικής κατά την αλλαγή της τιμής του πεδίου (π.χ., ειδοποίηση άλλων μερών του προγράμματος).
Παράδειγμα σε Python:
class Person:
def __init__(self, name):
self._name = name # Ιδιωτικό πεδίο
# Getter
def get_name(self):
return self._name
# Setter
def set_name(self, new_name):
if isinstance(new_name, str) and len(new_name) > 0:
self._name = new_name
else:
print("Μη έγκυρο όνομα")
# Χρήση
person = Person("Alice")
print(person.get_name()) # Χρήση του getter
person.set_name("Bob") # Χρήση του setter
print(person.get_name())
person.set_name("") # Παράδειγμα χρήσης του setter με επικύρωση
Η χρήση getters και setters προάγει την ενθυλάκωση, επιτρέποντας τη διαχείριση της πρόσβασης και της τροποποίησης δεδομένων εντός του αντικειμένου, διασφαλίζοντας καλύτερη δομή και διαχειρισιμότητα του κώδικα.