Polimorfismo

Preview:

DESCRIPTION

Polimorfismo. Unidad 4. Polimorfismo. Capacidad que tiene los objetos de comportarse de múltiples formas . Java, permite que el código de sus programas tenga la posibilidad de ser usados con diferentes tipos de datos u objetos. - PowerPoint PPT Presentation

Citation preview

Polimorfismo

Unidad 4

Polimorfismo• Capacidad que tiene los objetos de comportarse de múltiples formas.• Java, permite que el código de sus programas tenga la posibilidad de ser usados con

diferentes tipos de datos u objetos.• Por ejemplo, supongamos que A y B son dos variables de tipo entero, entonces, la

operación:C= A+BNos devolverá la suma de éstos dos números, cuyo resultado será guardado en la variable C.Pero supongamos que A y B son del tipo String (es decir, dos cadenas de caracteres):

String A= “Hola”;String B= “bienvenidos a la Programación en Java.”;String C; C=A+B;Al tener esa secuencia de commandos, ya no obtendremos como resultado la suma de esos dos números, sino la concatenación de esas dos cadenas. Por tanto, el resultado en pantalla, sería:

Hola bienvenidos a la Programación en Java.

Polimorfismo

• Un objeto puede comportarse • como lo que es (Objeto a la clase • a la que pertenece) O como cualquiera de sus clases

Base (Padre).• En la llamada al constructor de la clase base A usando

(super(e)) pasamos un objeto e de la clase B como un objeto de la clase A

• El polimorfismo puede hacerse con referencias de super-clases abstract, super-clases normales e interfaces.

Upcasting

• Únicamente tiene sentido por la existencia de la herencia.

• El polimorfismo (o upcasting) consiste en la posibilidad de que una referencia a objetos de una clase pueda conectarse también con objetos de descendientes de ésta

Generalización

• Es olvidar los detalles concretos de uno o varios objetos de distintas clases y buscar un punto común a todos ellos en un ancestro.

• Se trata de algo que realiza comúnmente la mente humana durante el proceso de razonamiento

Paso de argumentos

• Las conexiones polimorfas se realizan a veces de manera implícita en el paso de argumentos a una operación.

Clases abstractas• Es una clase de termino medio entre una clase normal y una

interfaz. • Constituye una herramienta importante y necesaria para

construir clases que tengan algunos métodos no implementados.

• La razón es que la clase principal no tiene otra razón que la de crear una interfaz común para todas las clases derivadas de ella.

• Los objetos de una clase abstracta no tienen significado propio.• Se crea para manipular un conjunto de clases con una interfaz

común.

Métodos abstractos

• Para impedir la creación de objetos de una clase se deben declarar métodos abstractos

• Sintaxis: abstract void nomMetodo();

• Si una clase contiene métodos abstractos entonces es una clase abstracta.• El compilador generará un mensaje de error.