Python ile 5 Dakikada Nesneye Yönelik Programlama

10625 단어 ooppythondatascience
Sınıflar sadece python 'da değil diğer programlama dillerinde de işimizi oldukça kolaylaştıran yapılardır. Python'da olusturduğumuz her int, str, list gibi yapılar aslında sınıf olarak oluşturulmaktadır. Temel olarak sınıflar birden fazla özelliği, metodu kendi içerisinde barındıran şablonlardır diyebiliriz.

  • Sınıf(class) 올루슈투르마

  • class BenimSinif():
        ozellik1 = ""
        programlamaDili = "Python"
    



  • Sınıftan örnek(instance) 올루슈투르마

  • ornekOlustur = BenimSinif()
    
    # örnek oluşturulan sinifin özelliğine
    ornekOlustur.ozellik1 # şeklinde ulaşabiliriz.
    


  • Sınıflarda kurucu(생성자) fonksiyon olusturma
  • __init__ ile başlayan ifade aslında olusturduğumuz örneklere(instance) 괴레 외젤리클러 tanımlamamız için gereklidir. self. ile sadece örneklere özgü özellikler tanımlayabiliyoruz.

    class BenimSinifim():
        sinifOzelligi = [] # genel özellik
        def __init__(self):
            self.isim = ""
            self.bolum = ""
    
    # sinifimizin özelliğine erişme
    ornekSinif = BenimSinifim()
    ornekSinif.isim = "Eydi" # şeklinde atama yapılabilir.
    
    # genel özelliğe erişmek için
    BenimSinifim.sinifOzelligi.append("Eydi") # şeklinde atama yapılabilir.
    BenimSinifim.sinifOzelligi
    
    # Not: Bu şekilde atama yapıldığında oluşturulan örneklerden(instance) 
    # atama yapılmamış(varsayılan) olanlarda değiştirilebilir.
    


  • 추가 정보: atama yapma

  • Sınıflarda çoğu zaman enkapsülasyon yapmamız gerekiyor. Genel özelliklerin dışında, 그녀의 oluşturulan örneğin(instance) 방법은 özelliklerini değiştiririz에 있습니다.

    Not: _isim şeklinde yazılan değişkeni isim şeklinde de yazabilirdim. Aslında tanımlanan metoda ait yerel değişken oluyor. Çok fazla kafa karışıklığına yol açmamak için bu şekilde kullandım.



    class BenimSinifim():
        def __init__(self):
            self.isim = ""
        def isimYazdir(self, _isim):
            self.isim = _isim
    
    # oluşturduğumuz sınıftan örnek(instance) oluşturarak
    ornekSinif = BenimSinifim()
    ornekSinif.isimYazdir("Eydi")
    ornekSinif.isim # denilerek ekran da kendi isminizi yazdırabilirsiniz.
    


  • Kurucu(생성자) fonksiyon ile atama yapma

  • En başında örneği(instance) olustururken tanımlama yapabiliriz.

    class Calisanlar(): # miras alınmıyorsa parantez kullanmayabiliriz.
        def __init__(self, isim, soyIsim):
            self.isim = isim
            self.soyIsim = soyIsim
    
    # şimdi instance(örnek) oluşturalım.
    eydi = Calisanlar("eydi", "gözeneli")
    eydi.isim # Çıktı da 'eydi' yazacaktır.
    eydi.soyIsim # Sizde kendi isminizi deneyebilirsiniz.
    


  • Kalıtım(상속), Miras alma(상속)

  • Şöyle düşünelim: Ortak özelliklere sahip bir topluluğumuz var. 외르네긴; 대학에서 대학에 등록할 수 있습니다. Ortak özellikleri ve kendilerine ait özellikleri bulunacaktır. Böyle bir durumda her birini tek tek tanımlamak yerine ortak özellikler bir kere tanımlanır. Geriye kalan özellikler kendi içlerinde tanımlanır. Nedir bu ortak özellikler? 이심, 야쉬, vb. özelliklerden bahsedebiliriz. Kod örneğiyle açıklayalım.

    class Kisiler():
        def __init__(self, isim, soyIsim):
            self.isim = isim
            self.soyIsim = soyIsim
    
    class Akademisyen(Kisiler): # kalıtım alıyoruz
        def __init__(self, isim, soyIsim,bolum):
            super().__init__(isim, soyIsim) # üst sınıftaki kurucu metoddan
    # önceki tanımlamalarımızı çekiyoruz
            self.bolum = bolum # bu sınıfa özgü özellik
    
    class Ogrenci(Kisiler):
        def __init__(self, isim, soyIsim, sinif):
            super().__init__(isim, soyIsim) # super() Ogrenci sınıfı içinde
    # kullanılıyor
            self.sinif = sinif
    
    eydi = Akademisyen("eydi", "gözeneli", "mekatronik")
    eydi.bolum
    eydi.isim
    
    esma = Ogrenci("esma", "gözeneli", "4. sinif")
    esma.isim
    esma.sinif
    


    Not: super().__init__(...) metodu ile üst sınıfımızdaki kurucu(constructor) fonksiyonumuzdaki eşitlikleri tekrar üstüne yazmamıza(override) gerek kalmadan sınıfımıza dahil ediyoruz.

    좋은 웹페이지 즐겨찾기