Ejemplo de las Aves. Clases. Herencia. Redefinición. Super/Self. Polimorfismo.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.diagrams
.settings
META-INF
src
.classpath
.gitignore
.project
README.md
build.properties

README.md

Pepita con Herencia

1) Roque, el entrenador

Agregar a roque, entrenador de aves. Roque tiene una colección de Aves a las que entrena.

Cuando roque quiere entrenar un Ave, hace lo siguiente:

  • volar 20 metros
  • comer un poco de alpiste
  • volar 100 metros
  • comer una manzana

El objeto roque nos debe permitir

  • agregarle una nueva ave para que entrene
  • pedirle que inicie el entrenamiento, usando el entrenamiento antes descripto para cada una de las aves que le dimos.

2) Águilas

Agregar las águilas, que también tienen energía y que al comer incrementan su energía igual que las golondrinas. Sin embargo, al volar, el consumo de energía es distinto y depende de si el águila está gora.

Un águila se considera gorda si acumuló más de 500 calorías. En ese caso la energía para volar es 2 calorías por metro, si no 1 caloría por metro. En todos los casos se suman las 10 calorías de arranque, igual que las golondrinas.

3) Comer reloaded

Hasta aquí un ave puede comerse cualquier cosa que otorgue energia, pero para eso tiene que poder alcanzarlo, teniendo en cuenta que:

  • La velocidad de un aguila es 50 km/h o 15km/h si está gorda.
  • La velocidad de una golondrina es de 20km/h o de 10 km/h si está cansada.
  • Una golondrina está cansada si le quedan menos de 50 calorías.
  • El alpiste y la manzana tienen velocidad 0.

Si a un ave le pido que coma algo que la supera en velocidad, entonces debe contestar con un error.

4) Cansancio

  • Todas las aves, si les piden volar cuando están cansadas, comen un poquito de alpiste antes de emprender el vuelo.

    Un águila está cansada si voló más de 1000 metros después de su última comida.

  • Todas las aves, si se les pide volar más de lo que pueden según su energía, se niegan (y lo modelamos con self.error).

5) Más aves

  • Agregar la clase AguilaDeLosAndes, cuya velocidad es el doble del águila común.
  • Agregar la clase GolondrinaVaga, que se comporta igual que una golondrina, pero se considera cansada si tiene menos de 150 calorías de energia.