【发布时间】:2018-10-23 23:20:58
【问题描述】:
我试图在 Python 中学习多重继承的概念。考虑一个派生自两个类Base1 和Base2 的类Derv。 Derv 仅从第一个基类继承成员:
class Base1:
def __init__(self):
self.x=10
class Base2:
def __init__(self):
self.y=10
class Derv (Base1, Base2):
pass
d = Derv()
print (d.__dict__)
结果是{ 'x' : 10 },颠倒继承顺序只会得到{ 'y' : 10 }。
派生类不应该继承两个基类的属性吗?
【问题讨论】:
-
提示:
x和y不是类属性。但是,__init__是。 -
那么 x 和 y 是什么
-
准确地说
x和y是实例属性? -
并且实例属性不被继承?我真的不明白,来自混合的 C++、Java、C# 背景,这有什么关系。能不能给个详细的答案...
-
只是:继承是类可以与其他类而不是它们的实例之间的关系——尽管后者的行为可能会受到其类所具有的任何此类连接的影响。
标签: python multiple-inheritance