SORU
21 EKİM 2008, Salı


Nasıl 'süper' Python kullanmak için?

Biri bana ne yapıyorsun arasındaki farkı açıklayabilir

class Child(SomeBaseClass):
    def __init__(self):
        super(Child, self).__init__()

ve bu:

class Child(SomeBaseClass):
    def __init__(self):
        SomeBaseClass.__init__(self)

super sadece tek bir miras ile derslerinde oldukça çok kullanıldığını gördüm. Çoklu kalıtım için anlayabiliyorum ama avantajları böyle bir durumda bunu kullanarak ne olduğu belirsiz.

CEVAP
21 EKİM 2008, Salı


Tek miras super() faydaları minimal çoğunlukla, üst yöntemlerini kullanan her yöntemi sabit-kod temel sınıf adına gerek yok.

Ancak, neredeyse imkansız super() olmadan birden çok devralma kullanmak için. Bu gibi mixins, arayüzler, soyut sınıflar, vb ortak cümleler içerir. Bu daha sonra senin genişleten kodu uzanır. Eğer sonradan biri Child ve kendisine dahil ederse, genişletilmiş bir sınıf yazmak istedim eğer kod düzgün çalışmayacaktır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AceHoodVEVO

    AceHoodVEVO

    12 Mayıs 2009
  • HBO

    HBO

    17 Mayıs 2006
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013