Anon'un cevabında:
" __init__Mevcut sınıfta yapılanlara ek olarak süper bir şeyin yapılmasına ihtiyacınız varsa __init__, bunu kendiniz aramalısınız, çünkü bu otomatik olarak olmayacak"
İnanılmaz: Miras ilkesinin tam tersini ifade ediyor.
O değil "süper en dan bir şey __init__ (...) otomatik olmayacak" taban sınıfı çünkü otomatik gerçekleşmesi İSTİYORUM yani ama olmaz __init__türetilmiş CLAS tanımı ile değiştirileceğini__init__
Öyleyse, NEDEN türetilmiş_sınıfı tanımlamak, birisi mirasa başvurduğunda amaçlanan __init__şeyi geçersiz kılar?
Bunun nedeni, kişinin temel sınıfta YAPILMAYAN bir şeyi tanımlaması gerektiğidir __init__ve bunu elde etmenin tek yolu, yürütülmesini türetilmiş bir sınıf __init__işlevine koymaktır .
Başka bir deyişle, eğer bu ikincisi geçersiz kılınmamışsa, 'temel sınıfta__init__ otomatik olarak yapılacak şeye ek olarak ' temel sınıfta bir şeye ihtiyaç vardır__init__ .
Aksine DEĞİL.
O halde sorun, temel sınıfta mevcut olan istenen talimatların __init__artık somutlaştırma anında etkinleştirilmemesidir. Bu inaktivasyon dengelemek amacıyla, özel bir şey gereklidir: açıkça taban sınıf çağırarak __init__, amacıyla TUTUN , ADD İÇİN DEĞİL, başlatma baz sınıfı tarafından gerçekleştirilen __init__. Resmi belgede tam olarak söylenen budur:
Türetilmiş bir sınıftaki geçersiz kılma yöntemi, aslında aynı ada sahip temel sınıf yöntemini değiştirmek yerine genişletmek isteyebilir . Temel sınıf yöntemini doğrudan çağırmanın basit bir yolu vardır: sadece BaseClassName.methodname (self, argümanlar) çağırın.
http://docs.python.org/tutorial/classes.html#inheritance
Tüm hikaye bu:
amaç, temel sınıf tarafından gerçekleştirilen başlatmayı, yani saf kalıtımı TUTMAK olduğunda, özel bir şey gerekmez, yalnızca __init__türetilmiş sınıfta bir işlevi tanımlamaktan kaçınılmalıdır.
amaç, temel sınıf tarafından gerçekleştirilen başlatma işlemini DEĞİŞTİRMEK olduğunda, __init__türetilmiş sınıfta tanımlanmalıdır.
Amaç, temel sınıf tarafından gerçekleştirilen başlatmaya işlemleri EKLEMEK olduğunda, temel sınıfa __init__ yönelik açık bir çağrı içeren bir türetilmiş sınıf tanımlanmalıdır.__init__
Anon'un yazısında hayret verici hissettiğim şey, sadece miras teorisinin tersini ifade etmesi değil, aynı zamanda kılını kıpırdatmadan oy alan 5 kişinin geçtiği ve ayrıca 2 yıl içinde tepki verecek kimsenin olmadığıdır. ilginç konusu nispeten sık okunması gereken bir konu.
objectbir yazım hatası olduğunu anlayabiliyorum . Ama şimdisupersorunun atıfta bulunduğu başlığa bile sahip değilsin .