Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/01/2015, 10:29
Koan
 
Fecha de Ingreso: diciembre-2009
Ubicación: Spain
Mensajes: 180
Antigüedad: 15 años
Puntos: 9
Respuesta: ¿Herencia múltiple en Taxonomía de animales?

He estado dándole un poco de forma a la clase y eliminando subclases. Para dejar los 5 grupos de vertebrados. Luego, en las 5 subclases es donde se pueden poner esos pocos atributos o métodos mas especializados de cada animal.

Yo creo que con la clase Vertebrados ya se pueden crear interacción entre animales.

Código Python:
Ver original
  1. class Vertebrados(object):
  2.    
  3.     def __init__(self):        
  4.         self.carnivoro = False
  5.         self.herbivoro = False
  6.         self.insectivoro = False
  7.         self.omnivoro = False
  8.         self.venenoso = False
  9.         self.potenciaVeneno = 0
  10.         self.inmunidadVeneno = 0
  11.         self.oxigeno = 100
  12.         self.nutrir = 0
  13.        
  14.     def caracteristicas(self):
  15.         self.comunes = ('- Organizacion celular: Eucariota y pluricelular.',
  16.                    '- Nutricion: Heterotrofa por ingestion.',
  17.                    '- Metabolismo: Aerobio (consumo oxigeno).',
  18.                    '- Reproducion: Sexual / Asexual.',
  19.                    '- Forma: Simetrica (Excepto las esponjas)')
  20.         for i in self.comunes:
  21.             print(i)      
  22.                                      
  23.                  
  24.     def comida(self, comida):
  25.         self.comida = comida
  26.         if self.comida == 'carne':
  27.             self.carnivoro = True
  28.             return ('Carnivoro')
  29.         elif self.comida == 'hierba':
  30.             self.herbivoro = True
  31.             return ('Herbivoro')
  32.         elif self.comida == 'insectos':
  33.             self.insectivoro = True
  34.             return ('Insectivoro')
  35.         elif self.comida == 'animales/plantas':
  36.             self.omnivoro = True
  37.             return ('Omnivoro')        
  38.         else:
  39.             return ('No conozco esa alimentacion')
  40.        
  41.     def comer(self):
  42.         self.nutrir += 5
  43.         return self.nutrir
  44.    
  45.     def respirar(self):
  46.         self.oxigeno -= 1
  47.         return self.oxigeno
  48.    
  49.     def excretar(self):
  50.         self.nutrir -= 2
  51.         return self.nutrir
  52.    
  53.     def responder(self, sonido):
  54.         self.sonido = sonido
  55.         print('¡¡¡' + self.sonido + '!!!')
  56.        
  57.     def mover(self):
  58.         print('Estoy caminando o volando o nadando')
  59.        
  60.     def reproducir(self):
  61.         print('Sin comentarios...jejeje')
  62.    
  63.     def atacar(self, animal):
  64.         self.animal = animal
  65.         if animal.venenoso == True:
  66.             print('¡El animal te he inyectado su veneno!')
  67.         else:
  68.             print('¡Que rico...!')
  69.    
  70.  
  71. # 5 GRUPOS VERTEBRADOS
  72.  
  73. class Anfibios(Vertebrados):
  74.     pass
  75. class Aves(Vertebrados):
  76.     pass
  77. class Mamiferos(Vertebrados):
  78.     pass
  79. class Peces(Vertebrados):
  80.     pass
  81. class Reptiles(Vertebrados):
  82.     pass

Luego, ya se podría entrar en el tema del encapsulamiento, polimorfismo y tal. Pero bueno, es mi primera clase creada.

Última edición por Koan; 05/01/2015 a las 10:54