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

  • ehowhome

    ehowhome

    22 NİSAN 2009
  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011
  • Noam Erez

    Noam Erez

    3 NİSAN 2012