Sobes.tech
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äiteks getName()).
  • 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äiteks setName()).
  • 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.