Press "Enter" to skip to content

Erişim Belirleyiciler Access Modifiers

Yaşar SAFALI 0

Erişim Belirleyiciler Access Modifiers

Python’da sınıflar içerisinde yer alan değişkenlerin,fonksiyonların bir erişim belirleyicisi vardır.Erişim Belirleyiciler değişkenlerin veya fonksiyonların erişim yetkisini belirler.Public,protected ve private türünde erişim belirleyiciler mecvuttur.Java,C# gibi dilleri bilen programcılar o dillerde değişkenlerin veya fonksiyonların erişimini kısıtlamak veya genişletmek için anahtar kelimeler kullanıldığı bilirler.Python’da bu iş biraz farklıdır.Şimdi bu erişim belirleyicilerin özelliklerini inceleyelim.

  • Public

Public erişim demek bir değişkene veya fonksiyona her yerden(bütün classlardan) erişebilmek demektir.

Python da yer alan tüm değişkenler,fonksiyonlar şu ana kadar yaptığımız tanımlamada her yerden erişime açık değişkenlerdi.Çünkü Python’da public değişken tanımlamak için ilk karakterin _(underscore) olmaması yeterlidir.

class Muhendis:
    
    ad="Yazılım"
    soyad="hanem"
    def EkranaYaz(self):
        print(self.ad)
        print(self.soyad)


muhendis=Muhendis()
print(muhendis.ad)
muhendis.EkranaYaz()

Output:

Yazılım
Yazılım
hanem

Görüldüğü gibi hem değişkenlere hemde fonksiyonlara erişim mümkündür.

  • Private

Private değişkenler veya fonksiyonlar sadece tanımlandıkları class içerisinden erişilebilirler.Başka hiç bir yerden erişim mümkün değildir.Python’da bir yapıyı private yapmak için ilk iki karakter __(underscore) olmalıdır.

class Muhendis:

    ad="Yazılım"
    __soyad="hanem"
    def EkranaYaz(self):
        print(self.ad)
        print(self.__soyad)


muhendis=Muhendis()
print(muhendis.ad)
print(muhendis.__soyad)

Output:

Yazılım
Traceback (most recent call last):
File “C:/Users/yasar/PycharmProjects/python2/yasar2.py”, line 12, in <module>
print(muhendis.soyad)
AttributeError: ‘Muhendis’ object has no attribute ‘__soyad’

Çıktıyi incelediğimizde  bize bu class soyad adlı değişken içermiyor demektedir.Soyad değişkeni private olduğu için erişime kapalıdır.Aynı şekilde EkranaYaz fonksiyonunuda private yapıp inceleyelim.

class Muhendis:

    ad="Yazılım"
    __soyad="hanem"
    def __EkranaYaz(self):
        print(self.ad)
        print(self.__soyad)


muhendis=Muhendis()
print(muhendis.ad)

muhendis.__EkranaYaz()

 

Output:

Yazılım
Traceback (most recent call last):
File “C:/Users/yasar/PycharmProjects/python2/yasar2.py”, line 13, in <module>
muhendis.__EkranaYaz()
AttributeError: ‘Muhendis’ object has no attribute ‘__EkranaYaz’

__EkranaYaz fonksiyonu private bir üye olduğu için sadece sınıf içerisinden erişim mümkündür.

 

class Muhendis:

    ad="Yazılım"
    __soyad="hanem"
    def __EkranaYaz(self):
        print(self.ad)
        print(self.__soyad)


    def __init__(self):
        self.__EkranaYaz()

muhendis=Muhendis()


Output:

Yazılım
hanem

 

  • Protected

Bir yapıyı protected yapmak için ilk karakterin _(underscore) olması gerekir.Protecteda yapılar mevcut sınıf ve alt sınıfdan erişilebilir.

class Muhendis:

    ad="Yazılım"
    soyad="hanem"
    def _EkranaYaz(self):
        print(self.ad)
        print(self.soyad)


   

muhendis=Muhendis()
muhendis._EkranaYaz()

Output:

Yazılım
hanem

Erişim belirleyicileri anlattığımıza göre artık Kapsülleme(Encapsulation) konusuna geçebiliriz.Bir sonraki yazımızda görüşmek dileğiyle

Diyarbakır escort

Diyarbakır escort bayan

Diyarbakır eskort bayan

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

bakırköy escort afyon escort afyon escort ağrı escort ardahan escort artvin escort aksaray escort amasya escort antalya escort alanya escort aydın escort balıkesir escort bandırma escort bayburt escort bartın escort batman escort bitlis escort bingöl escort bodrum escort bolu escort bursa escort çanakkale escort çerkezköy escort çorum escort düzce escort çeşme escort diyarbakır escort edirne escort erzincan escort erzurum escort erzurum escort elazığ escort eskişehir escort gaziantep escort giresun escort gümüşhane escort hatay escort hatay escort hakkari escort içel escort ığdır escort ısparta escort kars escort maraş escort kayseri escort karabük escort kıbrıs escort kırıkkale escort kırklareli escort kilis escort kırşehir escort konya escort kuşadası escort kütahya escort manisa escort manavgat escort marmaris escort mardin escort malatya escort mersin escort muğla escort muş escort nevşehir escort niğde escort ordu escort osmaniye escort rize escort samsun escort sakarya escort seyhan escort siirt escort sivas escort sinop escort şırnak escort şırnak escort tekirdağ escort trabzon escort tokat escort tunceli escort urfa escort uşak escort van escort yalova escort yozgat escort zonguldak escort izmit escort izmit escort izmit escort istanbul escort avcılar escort esenyurt escort mecidiyeköy escort şişli escort beylikdüzü escort halkalı escort kadıköy escort pendik escort istanbul escort kurtköy escort pendik escort beylikdüzü escort esenyurt escort escort bayan istanbul escort bayan escort escort bayan