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

  • aki6336

    aki6336

    14 AĞUSTOS 2008
  • superflyy88

    superflyy88

    8 ŞUBAT 2009
  • TVNorge

    TVNorge

    5 EKİM 2006