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
getile 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
setile 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.