Czytałem „Dive Into Python” iw rozdziale poświęconym klasom podaje ten przykład:
class FileInfo(UserDict):
"store file metadata"
def __init__(self, filename=None):
UserDict.__init__(self)
self["name"] = filename
Następnie autor mówi, że jeśli chcesz przesłonić __init__
metodę, musisz jawnie wywołać rodzica __init__
z poprawnymi parametrami.
- A co by
FileInfo
było, gdyby ta klasa miała więcej niż jedną klasę przodków?- Czy muszę jawnie wywoływać wszystkie
__init__
metody klas nadrzędnych?
- Czy muszę jawnie wywoływać wszystkie
- Czy muszę to zrobić w innej metodzie, którą chcę zastąpić?