stavo leggendo 'Dive Into Python' e nel capitolo sulle classi che dà questo esempio:Eredità e __init__ imperativi di pitone
class FileInfo(UserDict):
"store file metadata"
def __init__(self, filename=None):
UserDict.__init__(self)
self["name"] = filename
L'autore dice poi che se si desidera eseguire l'override del metodo __init__
, è deve chiamare esplicitamente il genitore __init__
con i parametri corretti.
- E se quella classe
FileInfo
avesse più di una classe di antenati?- Devo chiamare esplicitamente tutti i metodi
__init__
delle classi antenate?
- Devo chiamare esplicitamente tutti i metodi
- Inoltre, devo eseguire questa operazione con qualsiasi altro metodo che voglio sovrascrivere?
Si noti che il sovraccarico è un concetto separato da Overriding. –
sì, grazie per averlo risolto –