为什么python允许在抽象方法中包含代码?我知道我们可以通过super调用该代码,但是我无法想到为什么我希望我的抽象方法在其中包含代码。
答案 0 :(得分:7)
注意:与Java抽象方法不同,这些抽象方法可能有一个实现。可以通过覆盖它的类中的
super()
机制来调用此实现。 这可以作为使用协作多重继承的框架中超级调用的终点。
(强调补充。)
在PEP中也解释了它引入了ABCs,您可以关注从PEP到python-dev和-ideas线程的链接,它们更详细地讨论了这个决定。 (这是一种广泛开发的语言的优点之一;对于在2.2之后添加的任何内容,你不必对这样的问题感到疑惑,你可以只查看整个的讨论。)