polimorfismo (clases abstractas)

5
Ingenio DS Programando Soluciones http://ingeniods.wordpress.com Parte 2: Interfaces y Clases Abstractas Polimorfismo: Propiedad de las especies de seres vivos cuyos individuos pueden presentar diferentes formas o aspectos” - RAE 2013

Upload: mauro-gomez-mejia

Post on 29-Jun-2015

1.039 views

Category:

Documents


0 download

DESCRIPTION

Implementación de polimorfismo usando clase abstractas http://wp.me/pOz5S-pJ

TRANSCRIPT

Page 1: Polimorfismo (Clases Abstractas)

Ingenio DS Programando Soluciones

http://ingeniods.wordpress.com

Parte 2: Interfaces y Clases Abstractas

Polimorfismo: “Propiedad de

las especies de seres vivos

cuyos individuos pueden

presentar diferentes formas o

aspectos”

- RAE 2013

Page 2: Polimorfismo (Clases Abstractas)

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

Page 3: Polimorfismo (Clases Abstractas)

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

Page 4: Polimorfismo (Clases Abstractas)

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

Page 5: Polimorfismo (Clases Abstractas)

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