#programma 22.2
class Informazioni:
def info(self):
for x in dir(self):
if not x.startswith("_") and x != "info":
print(getattr(self,x))
class Animale(Informazioni):
def __init__(self):
self.descrizione=""
super().__init__()
self.descrizione="è un animale"
self.comunicazione="comunica emettendo dei suoni"
print(f"Hai creato {self.descrizione}, usa il metodo 'info()' per i dettagli.")
class Mammifero(Animale):
def __init__(self):
super().__init__()
self.descrizione="è un mammifero"
self.riproduzione="allatta i suoi piccoli"
class Oviparo(Animale):
def __init__(self):
super().__init__()
self.descrizione="è un oviparo"
self.riproduzione="depone le uova"
class Onnivoro(Animale):
def __init__(self):
super().__init__()
self.descrizione="è un onnivoro"
self.nutrizione="si nutre di vegetali e animali"
class Carnivoro(Animale):
def __init__(self):
super().__init__()
self.descrizione="è un carnivoro"
self.nutrizione="si nutre di carne e pesce"
class Erbivoro(Animale):
def __init__(self):
super().__init__()
self.descrizione="è un erbivoro"
self.nutrizione="si nutre di vegetali"
class Felino(Mammifero):
def __init__(self):
super().__init__()
self.descrizione="è un felino"
self.caratteristiche="ha canini e unghie affilati"
class AnimaleSelvatico(Animale):
def __init__(self):
super().__init__()
self.descrizione="è un animale selvatico"
self.note="potrebbe costituire una minaccia"
class AnimaleDaFattoria(Animale):
def __init__(self):
super().__init__()
self.descrizione="è un animale da fattoria"
self.note="si alleva per convenienza"
class AnimaleDomestico(Animale):
def __init__(self):
super().__init__()
self.descrizione="è un animale domestico"
self.note="si alleva in casa"
class Uccello(Oviparo):
def __init__(self):
super().__init__()
self.identificazione="è un uccello"
self.comunicazione="emette dei cinguettii"
self.movimento="sa volare"
class Pesce(Oviparo):
def __init__(self):
super().__init__()
self.descrizione="è un pesce"
self.habitat="vive nell'acqua"
self.comunicazione="non emette alcun suono"
self.nutrizione="si nutre di altri pesci o plancton"
self.movimento="sa nuotare"
class Balena(Mammifero,Pesce):
def __init__(self):
super().__init__()
self.comunicazione="emette dei suoni prolungati"
class Tigre(Felino,Carnivoro,AnimaleSelvatico):
def __init__(self):
super().__init__()
self.comunicazione="ruggisce"
class Gatto(Felino,Carnivoro,AnimaleDomestico):
def __ini__(self):
super().__init__()
self.identificazione="è un gatto"
self.segniparticolari="fa le fusa"
self.comunicazione="miagola"
class Capra(Erbivoro,AnimaleDaFattoria):
def __init__(self):
super().__init__()
self.descrizione="è una capra"
self.segniparticolari="può essere munta"
self.comunicazione="bela"
class Cane(Mammifero,Carnivoro,AnimaleDomestico):
def __init__(self):
super().__init__()
self.descrizione="è un cane"
self.comunicazione="abbaia"
self.segniparticolari="scodinzola"
class Umano(Mammifero,Onnivoro):
def __init__(self):
super().__init__()
self.descrizione="è un umano"
self.comunicazione="parla"
class Gallina(Uccello,AnimaleDaFattoria):
def __init__(self):
super().__init__()
self.descrizione="è una gallina"
self.movimento="non sa volare come gli altri uccelli"
self.segniparticolari="gli umani mangiano le sue uova"
self.comunicazione="chioccia"
class Scimmia(Mammifero,Onnivoro):
def __init__(self):
super().__init__()
self.descrizione="è una scimmmia"
self.segniparticolari="somiglia agli umani"
class Pappagallo(Uccello):
def __init__(self):
super().__init__()
self.descrizione="è un pappagallo"
self.comunicazione="emette vari suoni e imita quelli degli altri animali"