类继承[初学者]

时间:2015-10-15 10:50:02

标签: python class inheritance

我刚开始学习Python,我担心我不理解正确使用Class和Inheritance。在下面的代码中,我试图创建一个定义项的常规属性的类。然后我想使用另一个类添加更多属性,同时保留项的先前定义的属性。

class GeneralAttribute :

    def __init__(self, attribute1, attribute2, attribute3) :
        self.Attribute1 = attribute1
        self.Attribute2 = attribute2
        self.Attribute3 = attribute3

class SpecificAttribute(GeneralAttribute) :

    def __init__(self, attribute4, attribute5, attribute6, attribute7) :
        self.Attribute4 = attribute4
        self.Attribute5 = attribute5
        self.Attribute6 = attribute6
        self.Attribute7 = attribute7

item = GeneralAttribute(7, 6, 5)
item = SpecificAttribute(1, 2, 3, 4)

print item.Attribute1 
# This leads to an error since Attribute1 is no longer defined by item.

1 个答案:

答案 0 :(得分:2)

这不是继承如何运作的。你不要单独实例化它们;关键是你只是实例化了SpecificAttribute,而已经也是一个GeneralAttribute,因为继承是一个" is-a"关系。

为了启用此功能,您需要在SpecificAttribute中调用GeneralAttribute Cannot resolve keyword '1' into field.方法,并使用__init__进行调用。

super