2. Ingenio DS
Programando Soluciones
http://ingeniods.wordpress.com
Utilizamos como base el ejemplo desarrollado anteriormente donde exponemos
la utilización de interfaces para realizar Polimorfismo, y partiendo de ese ejemplo
exponer otra forma de realizar polimorfismo
1) Mostrable, donde se declara un método
que muestra la información de un objeto
2) Acelerable, permite acelerar un objeto
por una cantidad x de segundos
Parte 2: Interfaces y Clases Abstractas
3) Definimos una tercera interfaz
MostrableAcelerable, que extiende de dos
interfaces (la herencia múltiple si es permitida
entre interfaces) así las implementaciones de
esta tercera interfaz serán Acelerable y
Mostrable
3. Ingenio DS
Programando Soluciones
http://ingeniods.wordpress.com
Definimos una Clase abstracta
llamada Vehiculo que implementa
la interfaz MostrableAcelerable
Y aquí describimos el
comportamiento que debe
tener el programa al
invocar los métodos
definidos en las interfaces.
O sea que cualquier sub-
clase de Vehiculo por
herencia debe tener una
implementación de
Mostrable y Acelerable
Parte 2: Interfaces y Clases Abstractas
4. Ingenio DS
Programando Soluciones
http://ingeniods.wordpress.com
Utilizando el principio de
herencia
Definimos tres Clases que son
hijas de Vehiculo, por herencia
ellas también tienen la
implementación de las interfaces
Si bien es cierto, sobre cada una
de ellas podemos invocar el
método: mostrar o acelerar
descrito en la interfaz.
Cada una de ella sobrescribe la implementación de
dichos métodos, entonces a pesar de ser Acelerable y
Mostrable cada una de ellas tiene una forma propia de
hacerlo.
Parte 2: Interfaces y Clases Abstractas
5. Ingenio DS
Programando Soluciones
http://ingeniods.wordpress.com
Creamos una especificación de cada una de las clases de
Vehiculo, y por herencia estas reciben las funcionalidades y
atributos descritos en cada uno de sus padres
E igualmente por herencia siguen siendo clases Acelerable y
Mostrable
Parte 2: Interfaces y Clases Abstractas