2016-11-15 54 views
0

我無法打印所有這些。我錯過了什麼?如何執行所有這些類

class Animal(): 
    def __init__(self): 
     print("I am an animal") 

class Mammal(Animal): 
    def __init__(self,mouse, dog, cat): 
     self.mouse = mouse 
     self.dog = dog 
     self.cat = cat 
     print("I am a mammal") 

    def Mouse_mammal(self): 
     mouse = "I am a mouse" 
     print(mouse) 

    def Dog_mammal(self): 
     print("I am a dog") 

    def Cat_mammal(self): 
     print("I am a cat") 

class Reptile(Animal): 
    def __init__(self): 
     print("I am a reptile") 

    def Alligator_reptile(self): 
     print("I am a reptile") 

    def Lizard_reptile(self): 
     print("I am a lizard") 
+0

您缺少實際創建這些類的實例的代碼 –

回答

0

定義你的類後,你必須創建每個類的實例。你必須調用每個類的每個方法。例如。

animal = Animal() 
mammal = Mammal() 

mammal.Mouse_mammal('mouse', 'dog', 'cat') 
mammal.Dog_mammal() 
mammal.Cat_mammal() 

reptile = Reptile() 
reptile.Alligator_reptile() 
reptile.Lizard_reptile() 
0

你的代碼什麼都不做。

我的意思是,它確實聲明和定義了很多東西,但它沒有什麼。

基本上,你的代碼是描述你的情況:你有動物,可以是哺乳動物或爬行動物......但就是這樣。

如果您想獲得一些反饋意見,如打印,您必須使這些事情行事。您已經定義了,並且您必須將它們實例化爲。這是做如下:

>>> lizard = Reptile() 
>>> lizard.Lizard_reptile() 
"I am a lizard" 

但是,你似乎有點混亂與你在做什麼,通過使用帽的方法名稱判斷。在你的代碼中,Lizard_reptileAlligator_reptile方法,而不是類。這意味着,例如,不能存在蜥蜴的對象。

您似乎想要使用繼承,並創建一個LizardAlligator類,該類繼承自Reptile,這是該問題的邏輯概念。

那麼,這是完成就像你與ReptileMammals,從Animal繼承。