Super() veya classlarda super().init() nedir

super() veya classlarda super().init() nedir açıklayabilirmisniz

https://python-istihza.yazbel.com/nesne_tabanli_programlama5.html#super

Anladığım kadarıyla alt sınıf üst sınıfı miras aldığında ve kendi init metodunu oluşturduğunda
üst sınıfın değişkenleri korunmuyor siliniyor bu fonksiyonda onları korumayı sağlıyor yanlışım varsa düzeltin

Kendi __init__ metodumuzu yazdığımızda, miras alınan sınıfın __init__ metodu geçersiz kaldığı için çağırılmıyor. Biz eğer çağırılmasını istiyorsak super().__init__() gibi bir yapı kullanıyoruz.

Çok saolun anladım ! gece gündüz demeden öğrenmeye çalışıyorum

2 Beğeni

Peki bu super() i metodlarda nasıl kullanırız belgelerde bir üst sınıfın nitelik ve metotları üzerinde değişiklik yaparken, mevcut özellikleri de muhafaza edebilmemizi sağlar. diye geçiyor ordaki metodları nasıl yaparız örnek yazarmısınız.

İşte burada şunu kastediyor, biz kendi __init__ metodumuz ile üst sınıfın metodu üzerinde değişiklik yapıyoruz, ama super().__init__ bize üst sınıfın metodunu tekrar geri veriyor. Aslında buradaki muhafaza etme ne kadar doğru bir ifade bilmiyorum, erişme kelimesi daha uygun olur sanki.

anladım saolun teşekkür ederim