Sobes.tech
Intern

Getter va setter nima?

sobes.tech AI

AIdan javob

Obtuvchi (getter) va o'rnatuvchi (setter) - bu ob'ektga yo'naltirilgan dasturlashda maxfiy (yoki himoyalangan) sinf maydonlarining qiymatiga kirish va o'zgartirish uchun ishlatiladigan maxsus metodlar.

Obtuvchi (Getter):

  • Maydonning qiymatini o'qish uchun nazoratli kirishni ta'minlaydi.
  • Odatda, get bilan boshlanadigan nomga ega (masalan, getName()).
  • Qiymatni qaytarishdan oldin qo'shimcha harakatlarni bajarishi mumkin (masalan, formatlash yoki validatsiya qilish).

O'rnatuvchi (Setter):

  • Maydonning yangi qiymatini yozish uchun nazoratli kirishni ta'minlaydi.
  • Odatda, set bilan boshlanadigan nomga ega (masalan, setName()).
  • Maydon qiymatini belgilashdan oldin kirish ma'lumotlarini validatsiya qilish mumkin.
  • Maydon qiymatini o'zgartirishda (masalan, boshqa dastur qismlariga bildirish) mantiqni amalga oshirish imkonini beradi.

Python misoli:

class Person:
    def __init__(self, name):
        self._name = name # Maxfiy maydon

    # Obtuvchi
    def get_name(self):
        return self._name

    # O'rnatuvchi
    def set_name(self, new_name):
        if isinstance(new_name, str) and len(new_name) > 0:
            self._name = new_name
        else:
            print("Noto'g'ri ism")

# Foydalanish
person = Person("Alice")
print(person.get_name()) # Obtuvchidan foydalanish

person.set_name("Bob") # O'rnatuvchidan foydalanish
print(person.get_name())

person.set_name("") # Validatsiya bilan o'rnatuvchidan foydalanish misoli

Getterlar va setterlar foydalanilishi kapsüllashishni rivojlantiradi, ob'ekt ichidagi ma'lumotlarga kirishni va ularni o'zgartirishni boshqarishga imkon beradi, bu esa kodning yaxshiroq tuzilishi va saqlanishini ta'minlaydi.