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.