2017-05-26 27 views
0

を持っていない、あなたがそれを必要とするなら、私は以下の午前チュートリアルでは、#DerekバナスによるPythonプログラミングです:はAttributeError:「犬」オブジェクトが属性「get_height」

このレッスンでは、クラスオブジェクトの継承に

class Animal: 
    __name = "" 
    __height = 0 
    __weight = 0 
    __sound = 0 

    def __init__(self, name, height, weight, sound):   
     self.__name = name 
     self.__height = height 
     self.__weight = weight 
     self.__sound = sound 

    def set_name(self, name): 
     self.__name = name 

    def get_name(self): 
     return self.__name 

    def get_type(self): 
     print("Animal") 

    def toString(self): 
     return "{} is {} cm tall and {} kilograms and {}".format(self.__name, 
                    self.__height, 
                    self.__weight, 
                    self.__sound) 

cat = Animal('Whiskers', 33, 10, 'Meow') 
print(cat.toString()) 

class Dog(Animal): 
    __owner = "" 

    def __init__(self, name, height, weight, sound, owner): 
     self.__owner = owner   
     super(Dog, self).__init__(name, height, weight, sound) 

    def set_owner(self, owner): 
     self.__owner = owner 

    def get_owner(self): 
     return self.__owner 

    def get_type(self): 
     print("Dog") 

    def toString(self): 
     return "{} is {} cm tall & {} kgrms and {} hi               
         {}".format(self.get_name(),                 
                self.get_height(), 

                self.get_weight(), 

                self.get_sound(), 

                self.get_owner()) 
を実証しています

""」私はここでは、このランタイムエラーメッセージPythonのバージョン3.6

を取得していますがエラーです:

File "C:/Watson/HDM/tutorial_py1.py", line 192, in toString 
    self.get_height(), 

AttributeError: 'Dog' object has no attribute 'get_height' """ 
+1

は先に行くとDog''' '' 'や' '' Animal''' – gipsy

+0

であなたの '' 'get_height'''を定義するだけでなく'get_weight'と' get_sound'を返します。さもなければ、エラーを再びスローします。 – njoosse

答えて

2

get_height()関数が以前にクラスで宣言されていないため、Dogオブジェクトには 'get_height'属性がありません。あなたは、クラスにメソッドを追加する必要があります。

def get_height(self, name): 
    return self.__height 
関連する問題