SORU
15 NİSAN 2009, ÇARŞAMBA


Python ve __init__ devralmayı Geçersiz kılma

Okuma 'ile' dersleri ile ilgili bölüm bu örnek verir: . Python İçine Dalış yapıyordum

class FileInfo(UserDict):
    "store file metadata"
    def __init__(self, filename=None):
        UserDict.__init__(self)
        self["name"] = filename

Yazar, daha sonra ise __init__ yöntemini geçersiz kılmak isterseniz, açıkça üst doğru parametreleri ile __init__ araman gerektiğini söylüyor.

  1. Eğer FileInfo Bu sınıf birden fazla atası sınıf olsaydı?
    • Açıkça üst sınıf' __init__ yöntemleri? tüm aramalı mıyım
  2. Ayrıca, başka bir yöntemle bunu yapmak zorunda mıyım ben geçersiz kılmak ister misiniz?

CEVAP
15 NİSAN 2009, ÇARŞAMBA


Kitap biraz alt-üst arama açısından tarihli. Ayrıca, saygı ile, biraz tarih alt-dahili sınıflar için.

Bu artık böyle görünüyor.

class FileInfo(dict):
    """store file metadata"""
    def __init__(self, filename=None):
        super( FileInfo, self ).__init__()
        self["name"] = filename

Aşağıdaki not.

  1. Doğrudan yerleşik sınıflar, *8, *, tuple, **9 vb gibi alt edebiliriz.

  2. super işlevi bu sınıfın superclasses izleme ve bunları uygun şekilde işlevlerini çağıran işler.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FF Radio

    FF Radio

    16 Mayıs 2008
  • eisleyhead

    eisleyhead

    11 Ocak 2006
  • Schmittastic Jr.

    Schmittastic

    19 Mart 2013