Intern
Ի՞նչ է getter-ը և setter-ը։
sobes.tech AI
Պատասխան AI-ից
Գետեր (getter) և սեթեր (setter) — դա հատուկ մեթոդներ են, որոնք օգտագործվում են օբյեկտային ծրագրավորման մեջ՝ դասի մասնավոր (կամ պաշտպանված) դաշտերի արժեքներին մուտք գործելու և փոփոխելու համար:
Գետեր:
- Կարգավորվող մուտք է ապահովում դաշտի արժեքը կարդալու համար:
- Սովորաբար ունի անուն, որը սկսվում է
get-ով (օրինակ,getName())։ - Կարող է կատարել լրացուցիչ գործողություններ՝ արժեքը վերադարձնելուց առաջ (օրինակ՝ ձևաչափում կամ վավերացում):
Սեթեր:
- Կարգավորվող մուտք է ապահովում նոր արժեք գրելու համար դաշտում:
- Սովորաբար ունի անուն, որը սկսվում է
set-ով (օրինակ,setName())։ - Կարող է կատարել մուտքային տվյալների վավերացում՝ արժեքը դաշտին նշանակելուց առաջ:
- Ինպե՞ս, փոխելով արժեքը, կարող է իրականացնել լոգիկա (օրինակ՝ այլ ծրագրային մասերին տեղեկացնել):
Python օրինակ:
class Person:
def __init__(self, name):
self._name = name # Գաղտնի դաշտ
# Գետեր
def get_name(self):
return self._name
# Սեթեր
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()) # Գետերի օգտագործում
person.set_name("Bob") # Սեթերի օգտագործում
print(person.get_name())
person.set_name("") # Վավերացման օրինակ
Գետեր և սեթեր օգտագործելը խթանում է ինկապսուլյացիան, թույլ է տալիս կառավարել տվյալների մուտքն ու փոփոխությունը օբյեկտի ներսում, ապահովելով ավելի լավ կառուցվածք և պահպանելիություն։