SORU
23 ŞUBAT 2009, PAZARTESİ


() Anlayış Python süper __init__() yöntemleri

super() anlamaya çalışıyorum. Görünüşe göre, her iki alt sınıflar sadece iyi oluşturulabilir. Aşağıdaki alt sınıflar arasında gerçekten ne olduğunu çok merak ediyorum:

class Base(object):
    def __init__(self):
        print "Base created"

class ChildA(Base):
    def __init__(self):
        Base.__init__(self)

class ChildB(Base):
    def __init__(self):
        super(ChildB, self).__init__()

ChildA() 
ChildB()

CEVAP
23 ŞUBAT 2009, PAZARTESİ


super() güzel olan temel sınıf açıkça atıfta önlemek sağlar. Ancak en büyük avantajı fun stuff her türlü olabileceği birden çok devralma ile birlikte geliyor. Eğer zaten sığınak standard docs on super bkz.

Sözdizimi Python 3.0 değişti not: sadece söyleyebilirsin IMO biraz daha nazik, oldukça super(ChildB, self).__init__() yerine super().__init__().

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • akalyne

    akalyne

    13 Mayıs 2009
  • AllYourNewsByMe

    AllYourNewsB

    18 Temmuz 2011
  • WK

    WK

    9 Ocak 2006