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

  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011