我正在阅读“深入Python”,并在有关类的章节中给出了以下示例:
class FileInfo(UserDict):
"store file metadata"
def __init__(self, filename=None):
UserDict.__init__(self)
self["name"] = filename
然后,作者说,如果要覆盖该__init__
方法,则必须__init__
使用正确的参数显式调用父方法。
- 如果该
FileInfo
班有一个以上的祖先班怎么办?- 我是否必须显式调用所有祖先类的
__init__
方法?
- 我是否必须显式调用所有祖先类的
- 另外,我是否必须对要覆盖的其他任何方法执行此操作?
3
请注意,重载是与重载不同的概念。
—
Dana the Sane,