Python多重继承错误:对象没有属性

时间:2018-11-17 10:48:47

标签: python

我是python的新手,并提出了一个非常基本的问题。我试图理解多重继承。我有两个父类,即Speciy和Living,一个子类Bird,但是当我运行以下程序时,出现错误'Bird' object has no attribute '_Living__house'。请告诉我我做错了

但是当我使用单一继承时,即类Bird(Speciy) or class Bird(Living),它可以正常工作。因此,当我使用多重继承时,只会出现错误

class Speciy:

    def __init__(self,legs=4,colour="White"):
        self.__legs=legs
        self.__colour=colour

    def get_legs(self):
        return self.__legs

    def set_legs(self,legs):
        self.__legs=legs

    def get_colour(self):
        return self.__colour

    def set_colour(self,colour):
        self.__colour=colour

class Living:

    def __init__(self,house="city"):
        self.__house=house

    def get_house(self):
        return self.__house

    def set_house(self,house):
        self.__house=house    


class Bird(Speciy,Living):

    def __init__(self,wings=2):
        super().__init__()
        super().__init__()
        self.__wings=wings

    def get_wings(self):
        return self.__wings

    def set_wings(self,wings):
        self.__wings=wings

b1=Bird(4)

print(b1.get_wings())
b1.set_colour("Green")
print(b1.get_colour())
print(b1.get_house())

1 个答案:

答案 0 :(得分:0)

我已经使用

解决了自己的问题
Speciy.__init__(self,legs,colour)
Living.__init__(self,house)