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

  • BigDawsVlogs

    BigDawsVlogs

    17 HAZİRAN 2013
  • Garrett Müller

    Garrett Mül

    26 HAZİRAN 2009
  • RaquelGamesBR

    RaquelGamesB

    20 HAZİRAN 2009