Sobes.tech
Intern

Getter ve setter nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir getter ve setter, nesne yönelimli programlamada özel (veya korumalı) sınıf alanlarının değerlerine erişmek ve değiştirmek için kullanılan özel yöntemlerdir.

Getter:

  • Alanın değerini kontrollü bir şekilde okumaya erişim sağlar.
  • Genellikle get ile başlayan bir isim alır (örneğin, getName()).
  • Değeri döndürmeden önce ek işlemler yapabilir (örneğin, biçimlendirme veya doğrulama).

Setter:

  • Alanın yeni bir değerle yazılmasına kontrollü erişim sağlar.
  • Genellikle set ile başlayan bir isim alır (örneğin, setName()).
  • Alanın değerine atanmadan önce giriş verilerini doğrulayabilir.
  • Alanın değerini değiştirirken (örneğin, diğer program bölümlerine bildirim gönderme) mantık uygulamaya olanak tanır.

Python örneği:

class Person:
    def __init__(self, name):
        self._name = name # Özel alan

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

    # Setter
    def set_name(self, new_name):
        if isinstance(new_name, str) and len(new_name) > 0:
            self._name = new_name
        else:
            print("Geçersiz isim")

# Kullanım
person = Person("Alice")
print(person.get_name()) # Getter kullanımı

person.set_name("Bob") # Setter kullanımı
print(person.get_name())

person.set_name("") # Doğrulama ile setter kullanımı örneği

Getter ve setter kullanımı, kapsüllemeyi teşvik eder, nesne içindeki verilere erişimi ve değiştirmeyi yönetmeye olanak tanır ve kodun daha iyi yapılandırılmasını ve sürdürülebilirliğini sağlar.