80 likes | 269 Views
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.
E N D
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+B Nos 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): StringA= “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 descendientesde é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: abstractvoidnomMetodo(); • Si una clase contiene métodos abstractos entonces es una clase abstracta. • El compilador generará un mensaje de error.