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

Hola, no quiero demorar mas mi aprendizaje en POO y he creado una Taxonomía del reino animal. En principio, con los vertebrados. Esta claro, que luego hay un sin fin de subgrupos. Pero partiendo del grupo de vertebrados, solo llego a tres niveles para no hacerlo muy extenso.

Me gustaría saber, si en este código (esqueleto de clases) quitaríais alguna clase o bien, aplicaríais la herencia múltiple para no crear muchas clases.

De hecho, la duda de la herencia múltiple en este caso, es que luego no quiero que se solapen comportamientos raros entre animales. Es decir, que pongamos el método:

Código Python:
Ver original
  1. sapo.comer(bufalo)

Y el sapo se lo coma sin problemas al búfalo. Ya me entendéis. Creo, que al estar las clases como las pongo yo en el ejemplo, son más difíciles estas incongruencias.

Este es mi código de clases (Luego ya me meteré con el grupo de invertebrados):
(La instancia final sería la última hoja del árbol. Osea, el animal)

Código Python:
Ver original
  1. # REINO
  2. class ReinoAnimal:
  3.     pass
  4.  
  5. # CLASE GENERAL
  6.  
  7. class Vertebrados(ReinoAnimal):
  8.     pass
  9.  
  10. # 5 GRUPOS VERTEBRADOS
  11.  
  12. class Anfibios(Vertebrados):
  13.     pass
  14. class Aves(Vertebrados):
  15.     pass
  16. class Mamiferos(Vertebrados):
  17.     pass
  18. class Peces(Vertebrados):
  19.     pass
  20. class Reptiles(Vertebrados):
  21.     pass
  22.  
  23. # ANBIBIOS
  24.  
  25. class Urodelos(Anfibios):
  26.     pass
  27. class Anuros(Anbibios):
  28.     pass
  29.  
  30. # AVES
  31.  
  32. class Ratites(Aves):
  33.     pass
  34. class Carenadas(Aves):
  35.     pass
  36.  
  37. # MAMIFEROS
  38.  
  39. class Monotremas(Mamiferos):
  40.     pass
  41. class Marsupiales(Mamiferos):
  42.     pass
  43. class Placentarios(Mamiferos): #Aquí sale un subgrupo de nivel 3
  44.     pass
  45.  
  46. # MAMIFEROS/PLACENTARIOS
  47.  
  48. class Carnivoros(Placentarios):
  49.     pass
  50. class Cetaceos(Placentarios):
  51.     pass
  52. class Primates(Placentarios):
  53.     pass
  54. class Quiropteros(Placentarios):
  55.     pass
  56. class Roedores(Placentarios):
  57.     pass
  58. class Ungulados(Placentarios):
  59.     pass
  60.  
  61. # REPTILES
  62.  
  63. class Cocodrilos(Reptiles):
  64.     pass
  65. class Ofidios(Reptiles):
  66.     pass
  67. class Quelonios(Reptiles):
  68.     pass
  69. class Saurios(Reptiles):
  70.     pass
  71.  
  72. # PECES
  73.  
  74. class Condrictios(Peces):
  75.     pass
  76. class Osteoicteos(Peces):
  77.     pass