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

  • BlackBoxTV

    BlackBoxTV

    7 Mayıs 2007
  • BruBearBaby

    BruBearBaby

    25 Ocak 2011
  • ThePhestor

    ThePhestor

    22 Mart 2011