Sobes.tech
Intern

Kas ir getter un setter?

sobes.tech AI

Atbilde no AI

Gēters (getter) un iestatītājs (setter) ir īpaši metodes, kas izmantotas objektorientētajā programmēšanā, lai piekļūtu un mainītu privātu (vai aizsargātu) klases lauku vērtības.

Gēters:

  • Nodrošina kontrolētu piekļuvi lauka vērtības lasīšanai.
  • Parasti tam ir nosaukums, kas sākas ar get (piemēram, getName()).
  • Var veikt papildu darbības pirms vērtības atgriešanas (piemēram, formātēšana vai validācija).

Iestatītājs:

  • Nodrošina kontrolētu piekļuvi, lai ierakstītu jaunu vērtību laukā.
  • Parasti tam ir nosaukums, kas sākas ar set (piemēram, setName()).
  • Var veikt ievades datu validāciju pirms vērtības piešķiršanas laukam.
  • Atļauj īstenot loģiku, mainot lauka vērtību (piemēram, paziņojot citām programmas daļām).

Python piemērs:

class Person:
    def __init__(self, name):
        self._name = name # Privāts lauks

    # Gēters
    def get_name(self):
        return self._name

    # Iestatītājs
    def set_name(self, new_name):
        if isinstance(new_name, str) and len(new_name) > 0:
            self._name = new_name
        else:
            print("Nederīgs vārds")

# Lietošana
person = Person("Alice")
print(person.get_name()) # Gētera izmantošana

person.set_name("Bob") # Iestatītāja izmantošana
print(person.get_name())

person.set_name("") # Validācijas piemērs

Gēteri un iestatītāji veicina enkapsulāciju, ļauj kontrolēt piekļuvi un datu modifikāciju objektā, nodrošinot labāku struktūru un uzturēšanu.