[Python] __İnit__
-
-
Child class icinden sanirim bu. Init kismi nesne olusturuldugunda calisir. super() ana class ini gosterir o classin. super().__init__() ile de onun initializer ini cagirmis
-
Sınıf konularında super kalıtım ve overriding konusunda kullanılıyor
class Tahribat():
def __ init__(self,adminler,üyeler):
self.adminler = adminler
self.üyeler = üyeler
class Kurucular(Tahribat): # tahribat'ın kalıtımlı sınıfı tüm özellikleri miras alıyor
def __init__(self,adminler,üyeler,toplam_uye):
normal de burada da tek tek self yazmak yerine
super().__init__(adminler,üyeler) # alt alta tekrar self yazmak zorunda bırakmıyor super komutu
self.toplam_uye = toplam_uye #ana sınıfta olmayan sonradan kendi override ettigimiz özellik
kısacası yanılmıyorsam ana sınıfın ya da kalıtım yapılan sınıfın self fonksiyonları teker teker tekrar ederek yazmak yerine , super() kullanılarak ana sınıfın fonksiyonları çekiliyor ve sonradan eklenen fonksiyon alta yazılıyor.
__init__ olmasının sebebi de python'un kendi otomatik olarak ürettigi değerlerden birisi ve fonksiyonlar da ilk önce __init__ çağırılıyor bu sebep ile de __init__ üstünden parametre ekleniyor.