Intern
Mis on getter ja setter?
sobes.tech AI
Vastus AI-lt
Getter (saamine) ja setter (seadja) on spetsiaalsed meetodid, mida kasutatakse objektorienteeritud programmeerimises privaatsed (või kaitstud) klassi väljad väärtuste juurdepääsuks ja muutmiseks.
Getter:
- Pakub kontrollitud juurdepääsu välja väärtuse lugemiseks.
- Tavaliselt algab nimega, mis algab
get(näiteksgetName()). - Võib täita täiendavaid toiminguid enne väärtuse tagastamist (näiteks vormindamine või valideerimine).
Setter:
- Pakub kontrollitud juurdepääsu uue väärtuse kirjutamiseks väljale.
- Tavaliselt algab nimega, mis algab
set(näitekssetName()). - Võib täita sisendandmete valideerimist enne väärtuse määramist väljale.
- Võimaldab rakendada logikat väljale väärtuse muutmisel (näiteks teavitada teisi programmi osi).
Näide Pythonis:
class Person:
def __init__(self, name):
self._name = name # Privaatsed väljad
# 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("Vale nimi")
# Kasutamine
person = Person("Alice")
print(person.get_name()) # Getter kasutamine
person.set_name("Bob") # Setter kasutamine
print(person.get_name())
person.set_name("") # Näide setterist valideerimisega
Getterite ja setterite kasutamine soodustab kapseldamist, võimaldades hallata juurdepääsu ja andmete muutmist objekti sees, tagades parema struktuuri ja hooldatavuse.