请问 PYTHON3 中子类没有显式地调用父类的__init__方法会如何?

2017-07-18 22:12:38 +08:00
 saximi
看了很多材料都提到子类应该要显式地调用父类的__init__方法,
但是如果子类有__init__方法,且并未显式调用父类的__init__方法也不会报错啊,所以是否可以不必显式调用呢?
2923 次点击
所在节点    Python
3 条回复
wwqgtxx
2017-07-18 22:29:21 +08:00
这样父类成员就不会初始化,调用会直接报错
saximi
2017-07-18 22:47:26 +08:00
如何父类有多个子类,有一个子类显式调用了父类的__init__方法,但是其余子类并没有,这样会导致什么问题?
1iuh
2017-07-19 16:49:20 +08:00
@saximi 假如父类在__init__的方法创建成员变量 A, 子类如果调用了父类的__init__方法那么子类的实例就有成员变量 A,如果子类没有调用,那么该子类的实例就没有这个成员变量。 如果其他方法要使用这个成员变量 A, 那么自然就要报错。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/376271

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX