Junior — Middle
Python'da bir nesnenin iç uygulamasının gizlenmesi ve verilerin dış erişimden gizlenmesi nasıl sağlanır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Python'da, nesnenin iç uygulamasını ve verilerini gizleme, konvansiyonlar ve kapsülleme mekanizmalarıyla sağlanır:
- Bir alt çizgi (_var) — bu, öznitelik veya metodun iç kullanım için olduğunu gösterir (korumalı), ancak teknik olarak dışarıdan erişilebilir.
- İki alt çizgi (__var) — name mangling (isim karıştırma) ile sonuçlanır, bu da dışarıdan erişimi zorlaştırır, örneğin,
__var_ClassName__varolur. Bu, kazara üzerine yazmayı önlemek ve verileri gizlemek için kullanılır.
Örnek:
class MyClass:
def __init__(self):
self.public = "herkes erişebilir"
self._protected = "iç kullanım için"
self.__private = "dış erişimden gizlenmiş"
obj = MyClass()
print(obj.public) # erişilebilir
print(obj._protected) # erişilebilir, ama önerilmez
print(obj._MyClass__private) # isim karıştırma ile "özel" özniteliğe erişim
Bu şekilde, Python'da katı bir özel erişim yoktur, ancak verileri doğrudan erişimden gizlemek için konvansiyonlar ve mekanizmalar mevcuttur.