Sobes.tech
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("") # Վավերացման օրինակ

Գետեր և սեթեր օգտագործելը խթանում է ինկապսուլյացիան, թույլ է տալիս կառավարել տվյալների մուտքն ու փոփոխությունը օբյեկտի ներսում, ապահովելով ավելի լավ կառուցվածք և պահպանելիություն։