La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

POLIMORFISMO UNIDAD 4.

Presentaciones similares


Presentación del tema: "POLIMORFISMO UNIDAD 4."— Transcripción de la presentación:

1 POLIMORFISMO UNIDAD 4

2 POLIMORFISMO El Polimorfismo es la respuesta distinta frente a una llamada a un método dependiendo de la naturaleza del objeto. Consiste en definir métodos distintos, que comparten el mismo nombre, pero que se aplican a clases diferentes

3 El polimorfismo es una de las principales aplicaciones de la herencia y supone el principal motivo de las clases abstractas.

4 Ventaja La principal ventaja del polimorfismo es la reutilizacion de codigo

5 Asignacion de objetos a variables de su super clase
En java, es posible asignar un objeto de una clase a una variable de su superclase. Por ejemplo, dada una variable de tipo Figura Figura f; Es posible asignar a esta variable el objeto Triangulo f =new Triangulo();

6 A partir de aqui, se puede utilizar la variable para invocar a aquellos metodos del objeto que tambien esten definidos o declarados en la superclase, pero no aquellos que solo existan en la clase a la que pertenece el objeto

7 Tras la conexión polimorfa únicamente podemos acceder a las operaciones pertenecientes a la clase asociada a la referencia. El resto de operaciones del objeto no son accesibles a través de esta referencia

8 Variable polimorfica Una variable referencia es polimórfica cuando su tipo de declaración no coincide con el tipo del objeto al que referencia: Figura f1 = new Figura(“Estandar”, “Rojo”); Figura f2 = new Circulo(“Verde”, 5.0); f2 variable polimorfica.

9 Clases abstractas: A menudo existen clases que sirven para definir un tipo genérico pero que no sentido instanciar (crear objetos de ella). Métodos abstractos: Un método abstracto significa que tiene que ser sobrescrito. No está implementado. Una clase con uno o varios métodos abstractos tiene que ser declarada abstracta. No obstante una clase abstracta no tiene porque tener métodos abstractos.

10 INTERFACES (herencia múltiple)
Los interfaces en Java nos solucionan en parte la no existencia de la herencia múltiple. Los interfaces son un tipo de clase especial que no implementa ninguno de sus métodos. Todos son abstractos. Por tanto no se pueden instanciar.

11 De los interfaces también se hereda, aunque se suele decir implementa
De los interfaces también se hereda, aunque se suele decir implementa. Y se realiza mediante la palabra: implements. Si una clase que hereda de un interface, no implementa todos los métodos de este, deberá ser definida como abstracta.

12 ¿Para qué se utiliza? Para permitir la herencia múltiple (ya que la herencia en Java sólo permite heredar de una sola clase)

13 Definen un comportamiento (o funcionalidad) genérico, ignorando los aspectos relacionados con su implementación. Las interfaces que implementa una clase se comportan igual que las superclases en lo que respecta al uso del polimorfismo.

14 Subclase: Necesitemos hacer una especialización de la superclase mediante sobre escritura o añadiendo nuevos métodos. Clase abstracta: Queremos definir un grupo genérico de clases y además se tiene algunos métodos implementados que reutilizar.

15 Interface: Queremos definir un grupo genérico de clases y no tenemos métodos implementados que reutilizar. O cuando nos veamos forzados por la falta de herencia múltiple en Java.

16 Interface vs. Clase Abstracta
Un interface no puede implementar ningún método. Un interface no forma parte de la jerarquía de clases.

17 Una clase puede implementar n interfaces pero solo una clase.
El objetivo de un método abstracto es forzar una interfaz (API) pero no una implementación

18 Haremos un interface cuando queramos definir un grupo genérico de clases y no tengamos métodos implementados que reutilizar. O cuando nos veamos forzados por la falta de herencia múltiple en Java.


Descargar ppt "POLIMORFISMO UNIDAD 4."

Presentaciones similares


Anuncios Google