Python类实现动物种类的派生

时间:2023-01-06 15:53:34

Animal

# -*- coding:utf-8 -*-
class Animal:
def __init__(self,sayhello,mood,legs):
self._sayhello=sayhello
self._mood=mood
self._legs=int(legs)
def return_sayhell0(self):
return self._sayhello
def return_mood(self):
return self._mood
def return_legs(self):
return self._legs
def show_Animal(self):
print u"打招呼的方式为"+self._sayhello
print u"有"+str(self._legs)+u"条腿"
def change_mood(self):
self._mood=not self._mood

WaterAnimal

# -*- coding:utf-8 -*-
class WaterAnimal:
def __init__(self,luansheng=True,sai=True):
self._sai=sai
self._luansheng=luansheng
def return_sai(self):
if(self._sai):
print u"有腮"
else:
print u'没有腮'
def return_luansheng(self):
if(self._luansheng):
print u'卵生'
else:
print u'非卵生'

LandAnimal

# -*- coding:utf-8 -*-
class LandAnimal:
def __init__(self,buru,shirou):
self._buru=buru
self._shirou=shirou
def return_buru(self):
if(self._buru):
print u"哺乳"
else:
print u"不哺乳"
def return_shirou(self):
if(self._shirou):
print u"食肉"
else:
print u"不食肉"

Dogs

# -*- coding:utf-8 -*-
from Animal import Animal
from LandAnimal import LandAnimal
class Dog(object,Animal,LandAnimal):
def __init__(self,sayhello=u'摇摇尾巴',mood=True,legs=4,buru=True,shirou=True):
Animal.__init__(self,sayhello,mood,legs)
LandAnimal.__init__(self,buru,shirou)
#super(Dog, self).__init__()
def Dogs(self):
self.show_Animal()
self.return_buru()
self.return_shirou()
self.show_mood_dog()
def show_mood_dog(self):
count=2
while(count):
if(self.return_mood()):
print u"汪汪"
self.change_mood()
else:
self.change_mood()
print u"呜呜"
count-=1

Cats

# -*- coding:utf-8 -*-
from Animal import Animal
from LandAnimal import LandAnimal
class Cat(object,Animal,LandAnimal):
def __init__(self,sayhello=u'喵喵叫',mood=True,legs=4,buru=True,shirou=True):
Animal.__init__(self,sayhello,mood,legs)
LandAnimal.__init__(self,buru,shirou)
#super(Dog, self).__init__()
def Cats(self):
self.show_Animal()
self.return_buru()
self.return_shirou()
self.show_mood_cat()
def show_mood_cat(self):
count=2
while(count):
if(self.return_mood()):
print u"咕噜咕噜"
self.change_mood()
else:
self.change_mood()
print u"嘶嘶"
count-=1

Frogs

# -*- coding:utf-8 -*-
from Animal import Animal
from WaterAnimal import WaterAnimal
from LandAnimal import LandAnimal
class Frogs(object,Animal,WaterAnimal,LandAnimal):
def __init__(self,sayhello=u'呱呱呱',mood=True,legs=4,luansheng=True,sai=True,buru=False,shirou=False):
Animal.__init__(self,sayhello,mood,legs)
LandAnimal.__init__(self,buru,shirou)
WaterAnimal.__init__(self,luansheng,sai)
#super(Dog, self).__init__()
def Frogs(self):
self.show_Animal()
self.return_buru()
self.return_shirou()
self.return_luansheng()
self.return_sai()
self.show_mood_frog()
def show_mood_frog(self):
count=2
while(count):
if(self.return_mood()):
print u"呱呱呱"
self.change_mood()
else:
self.change_mood()
print u"扑通一声跳入水"
count-=1

Test

# -*- coding:utf-8 -*-
from Dog import Dog
dog=Dog(u'摇摇尾巴',True,4,True,True)
dog.Dogs()

from Cat import Cat
cat=Cat(u'喵喵叫',True,4,True,True)
cat.Cats()

from Frogs import Frogs
frog=Frogs(u'呱呱呱',True,4,True,True,False,False)
frog.Frogs()