Nesne yönelimli programlama alanında, nesnelerin özelliklerine erişimi yönetmeye yardımcı olan bazı yerleşik kavramlar vardır. Bu merkezi unsurlardan biri Getter ve Setterdır. Ancak, Python bu kavramı diğer nesne yönelimli dillerdeki gibi uygulamamaktadır. Bu kılavuzda, sınıflarının özelliklerine erişimi kontrol etmek için Getter ve Setter'ları Python'da daha etkili bir şekilde nasıl kullanabileceğini öğreniyorsun.
En önemli bulgular
- Getter ve Setter, özelliklere erişimi kontrol eden yöntemlerdir.
- Python'da @property dekoratörünü kullanarak Getter ve Setter'ları şık bir şekilde uygulamanın bir yolu vardır.
- Kullanıcı tanımlı adlandırma kurallarının kullanılması, iç ve kamuya açık özelliklerin net bir şekilde ayrılmasına yardımcı olur.
- Python'daki erişim modifiyerleri ile ilgili kural, diğer dillerden farklıdır.
Adım Adım Kılavuz
Adım 1: Özelliklere sahip bir sınıf oluşturma
Basit bir sınıf tanımlayarak başlayın. Diyelim ki bir ad özelliğine sahip bir Kişi sınıfı oluşturmak istiyorsunuz. Bu durumda, ad özelliği başlatıcıda özel bir özellik olarak saklanır.

Burada _name, özel bir değişken olduğunu belirtmek için alt çizgi öneki ile iç özellik olarak tanımlanır.
Adım 2: Getter ekleme
İç özellik olan ad'a erişmek için bir Getter yöntemi ekliyorsunuz. Bu yöntem, adın mevcut değerini döndürür.

Adım 3: Setter ekleme
Artık kişinin adının değiştirilmesi için bir Setter yöntemi ekleyelim. Setter, iç özellik için yeni değerler belirlemenize olanak tanır.

Adım 4: @property kullanımı
Python'da, @property dekoratörünü kullanarak özelliklerle çalışmak daha şık hale gelir. Bu, Getter ve Setter'ları ayrı yöntemler oluşturmak zorunda kalmadan doğrudan sınıf içinde tanımlamanıza olanak tanır.

Adım 5: Özel özelliklerle başa çıkma
İç özelliklerin dışarıdan doğrudan erişilebilir olmadığından emin olmak için, özelliği daha güçlü bir şekilde kapsüllemek üzere __ öneki kullanabilirsiniz. Bu yaklaşım, erişimin yalnızca Getter ve Setter yöntemleri üzerinden gerçekleşmesini sağlamaktadır.

Bu uygulamayla, __name'a dışarıdan erişim sağlanamaz.
Özet - Python'da Getter ve Setter
Bu kılavuzda, Python'da nesne değişkenlerine erişimi kontrol etmek için Getter ve Setter'ları nasıl etkili bir şekilde uygulayacağınızı öğrendiniz. Ayrıca, kodu daha anlaşılır ve daha standart hale getiren @property kullanımını öğrendiniz. Özel değişkenleri çift alt çizgi ile kapsüllerseniz, iç değişkenlerin yetkisiz erişime karşı korunmasını sağlayabilirsiniz.
Sıkça Sorulan Sorular
Getter ve Setter nedir?Getter ve Setter, bir sınıfın özelliklerine erişimi kontrol eden ve sağlanan yöntemlerdir.
Python'da Getter ve Setter nasıl uygulanır?Getter ve Setter'ı metodlar veya @property dekoratörü ile uygulayabilirsiniz.
@property'nin avantajı nedir?@property dekoratörü, ayrı yöntemler uygulamadan niteliklere şık ve sezgisel bir erişim sağlar.
Python'da özelliklerin doğrudan erişilebilir olmaması neden önemlidir?Doğrudan erişim beklenmeyen davranışa neden olabilir ve nesne verilerinin bütünlüğünü tehlikeye atabilir, bu yüzden erişimi kontrol etmek daha iyidir.
Bir özelliği "özel" olarak işaretlemenin anlamı nedir?Bir özel özellik, doğrudan dışarıdan erişilebilir olmadığını göstermek için bir alt çizgi (_) veya çift alt çizgi (__) ile önceden tanımlanır.