SlideShare una empresa de Scribd logo
Java Inicial (20 horas) Emilio Avilés Ávila http://www.techmi.es
Temario Programación Orientada a Objetos Introducción y Sintaxis Java Sentencias Control Flujo POO en Java Relaciones entre Objetos Polimorfismo, abstracción e interfaces Excepciones Conceptos avanzados
Tema 6 Polimorfismo, Abstracción e Interfaces
Objetivos Programación Orientada a Objetos Introducción y Sintaxis Java Sentencias Control Flujo POO en Java Relaciones entre Objetos Polimorfismo, abstracción e interfaces Excepciones Conceptos avanzados Polimorfismo Variables polimórficas Clases Abstractas Interfaces Herencia múltiple
6 – Polimorfismo, Abstracción e Interfaces Polimorfismo:  es la capacidad que tiene los objetos de comportarse de  múltiples formas . Un objeto puede comportarse  Como los que es (Objeto a la clase a la que pertenece) O Cualquiera de sus clases Base (Padre) En la llamada al constructor de la clase base Persona ( super(e))  pasamos un objeto e (Empleado) Todo objeto de la claseB es objeto de la claseA Todo objeto de la clase Empleado es objeto de la clase persona.
6 – Polimorfismo, Abstracción e Interfaces Polimorfismo:  Upcasting Únicamente tienen 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
6 – Polimorfismo, Abstracción e Interfaces Polimorfismo:  Upcasting (II) El sentido del polimorfismo es realizar una  generalización , 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
6 – Polimorfismo, Abstracción e Interfaces Polimorfismo:  Paso argumentos Las conexiones polimorfas se realizan a veces de manera implícita en el  paso de argumentos  a una operación.
6 – Polimorfismo, Abstracción e Interfaces Polimorfismo:  Variables polimórficas: Puede contener referencias a objetos de diferentes clases Ejemplo: Necesitamos implementarnos una agenda para almacenar 500 datos … de Personas o Empleados. ¿Cómo definiremos la clase Agenda? ¿Cómo definiremos el array que lo almacenara? Tipo Persona? Tipo Empleado? Dos arrays independientes   Mal uso memoria!
6 – Polimorfismo, Abstracción e Interfaces Polimorfismo:  Variables polimórficas (II) Si tomamos la decisión en base al tamaño: Clase Persona > Clase Empleado Lo anterior da error de compilación
6 – Polimorfismo, Abstracción e Interfaces Polimorfismo:  Variables polimórficas (III) Si tomamos la decisión de la clase más genérica: Ahora no da Error ¿por qué?
6 – Polimorfismo, Abstracción e Interfaces Polimorfismo:  Variables polimórficas (IV) Problemas de las variables polimórficas: Cuando intentamos invocar métodos que sólo están definidos en la clase hijo Lo anterior da error de compilación
6 – Polimorfismo, Abstracción e Interfaces Polimorfismo:  Variables polimórficas (V) Problemas de las variables polimórficas: Solución 1: Hacemos un Cast Pero para la clase Persona    error en ejecución
6 – Polimorfismo, Abstracción e Interfaces Clases Abstractas Existen clases que representan conceptos genéricos y es ilógico instanciar objetos. Puede ser imposible o inútil la implementación de ciertas operaciones. La utilidad de este tipo de clases está en la aplicación de herencia para obtener clases que representan conceptos concretos La clase  TareaPeriodica  es un claro ejemplo: por sí sola no tiene utilidad, pero simplifica mucho la construcción de las otras tres clases. De hecho, la operación  ejecutarTarea  en  TareaPeriodica  no tiene una implementación útil
6 – Polimorfismo, Abstracción e Interfaces Clases Abstractas (II) Una clase  abstracta  es aquella que tiene una funcionalidad definida Pero que no se puede implementar dicha funcionalidad . Motivo : Se trate de una clase demasiado genérica . A la funcionalidad no implementada se le llama  método abstracto Sintaxis
6 – Polimorfismo, Abstracción e Interfaces Clases Abstractas (III) Las operaciones abstractas deben ser implementadas obligatoriamente en alguna de las subclases para que la clase  correspondiente sea instanciable. Una clase abstracta puede no tener ninguna operación abstracta, pero una clase que contenga al menos una operación abstracta debe ser declarada como abstracta
6 – Polimorfismo, Abstracción e Interfaces Clases Abstractas (II): No se puede crear objetos (No hay implementación) Los métodos abstractos también se heredan. La clase automóvil define el método arrancar() por que todos los coches tienen dicha funcionalidad. Al no conocer el motor    no puede implementar el método
6 – Polimorfismo, Abstracción e Interfaces Clases Abstractas: Ejemplo Genéricos
6 – Polimorfismo, Abstracción e Interfaces ¿Qué ocurriría si el Círculo y el Rectángulo heredasen de otra clase anteriormente? No podríamos tener la clase figura ya que Java no permite  herencia múltiple Para esto tenemos los  Interfaces   Clase que declara solo métodos sin implementarlos Permite Herencia múltiple
6 – Polimorfismo, Abstracción e Interfaces Interfaces La idea de clase abstracta, llevada al extremo, nos lleva en Java a las interfaces. Una interfaz es similar a una clase totalmente abstracta Sirven para especificar las operaciones que obligatoriamente deben implementar una serie de clases
6 – Polimorfismo, Abstracción e Interfaces Interfaces Sintaxis para indicar que una clase implementa un interfaz. Podemos implementar varios interfaces Puede ser utilizado para definir una variable Puede incluir un objeto que implemente dicho interfaz
6 – Polimorfismo, Abstracción e Interfaces Interfaces Permite herencia múltiple No es necesario poner el  public abstract  a los métodos    redundante
6 – Polimorfismo, Abstracción e Interfaces Interfaces:  Ejemplo Rectángulo / Círculo Interface Rectángulo Círculo
6 – Polimorfismo, Abstracción e Interfaces Interfaces:  Ejemplo Tarea periódica
Conclusiones Programación Orientada a Objetos Introducción y Sintaxis Java Sentencias Control Flujo POO en Java Relaciones entre Objetos Polimorfismo, abstracción e interfaces Excepciones Conceptos avanzados Polimorfismo Variables polimórficas Clases Abstractas Interfaces Herencia múltiple

Más contenido relacionado

DOCX
4 unidad polimorfismo
PDF
Poo3 java-0910
PDF
polimorfismo
PPT
Herencia Y Polimorfismo
PDF
Polimorfismo
PPTX
Polimorfismo ppt
PPTX
10 Polimorfismo
PPTX
Polimorfismo en Java
4 unidad polimorfismo
Poo3 java-0910
polimorfismo
Herencia Y Polimorfismo
Polimorfismo
Polimorfismo ppt
10 Polimorfismo
Polimorfismo en Java

La actualidad más candente (20)

PDF
Polimorfismo
PPT
Prog oo con_java
PDF
Polimorfismo en JAVA
PPT
4 Polimorfismo
PPT
Curso Java Inicial 5 Relaciones Entre Objetos
PPTX
09 Clases Abstractas E Interfaces
PDF
10.Polimorfismo Java
PPT
Polimorfismo en Java
PPTX
Programación Orientada a Objetos - herencia y polimorfismo
PDF
Poo en java herencia
PPTX
Herencia y Polimorfismo
PDF
Java
 
PDF
Interfaces en java
PPTX
Clases abstractas e interfaces (AlexandraPerez)
PDF
¿Qué es una interface en java?
PDF
Polimorfism oo
PPTX
Herencia
PPT
Poo 3 herencia
PDF
Polimorfismo_PApps
Polimorfismo
Prog oo con_java
Polimorfismo en JAVA
4 Polimorfismo
Curso Java Inicial 5 Relaciones Entre Objetos
09 Clases Abstractas E Interfaces
10.Polimorfismo Java
Polimorfismo en Java
Programación Orientada a Objetos - herencia y polimorfismo
Poo en java herencia
Herencia y Polimorfismo
Java
 
Interfaces en java
Clases abstractas e interfaces (AlexandraPerez)
¿Qué es una interface en java?
Polimorfism oo
Herencia
Poo 3 herencia
Polimorfismo_PApps
Publicidad

Destacado (10)

PDF
Java jedi pre
PPT
Colaboración, comunicación e identidad: Una mirada a los blogs desde la UPR
PPTX
Unidad 4: Polimorfismo Ejercicio 4
PPTX
Analisis y diseño de sistemas
PPT
Bases De Datos Orientadas A Objetos2
PPTX
006 herencia y polimorfismo_jdchc
PDF
Poliformismo
PDF
Java orientado a objetos
DOCX
Ejercicios c#
PPT
Polimorfismo
Java jedi pre
Colaboración, comunicación e identidad: Una mirada a los blogs desde la UPR
Unidad 4: Polimorfismo Ejercicio 4
Analisis y diseño de sistemas
Bases De Datos Orientadas A Objetos2
006 herencia y polimorfismo_jdchc
Poliformismo
Java orientado a objetos
Ejercicios c#
Polimorfismo
Publicidad

Similar a Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces (20)

PPTX
10 - Slides-Java sesion.pptx
PDF
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
PDF
Java morld cap2 [CURSO JAVA]
PPTX
Presentacion progra
PPT
JAVA- basico
PDF
Tema7 herencia
PPSX
Programaciom avanzada orientada a objetos
DOCX
Guía polimorfismo
PDF
Tema4 herencia
PDF
Tarea 3
PPT
Net1 oop vbnet
PPTX
08 Herencia
PPT
Sesion2 Php Oo Y Mysql
PPT
Programación Orientada a Objetos con ul lenguaje de programacion.ppt
PPT
Programación Orientada a Objetos POOOOOO
PPT
programación orientada a objetos, definiciones ,etc
PPT
Fundamentos de Programación Orientada a Objetos.ppt
PPT
Curso Java Inicial 4 Poo En Java
PPT
Programación Orientada a Objetos.ppt
PPT
Programación Orientada a Objetos fases.ppt
10 - Slides-Java sesion.pptx
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Java morld cap2 [CURSO JAVA]
Presentacion progra
JAVA- basico
Tema7 herencia
Programaciom avanzada orientada a objetos
Guía polimorfismo
Tema4 herencia
Tarea 3
Net1 oop vbnet
08 Herencia
Sesion2 Php Oo Y Mysql
Programación Orientada a Objetos con ul lenguaje de programacion.ppt
Programación Orientada a Objetos POOOOOO
programación orientada a objetos, definiciones ,etc
Fundamentos de Programación Orientada a Objetos.ppt
Curso Java Inicial 4 Poo En Java
Programación Orientada a Objetos.ppt
Programación Orientada a Objetos fases.ppt

Más de Emilio Aviles Avila (20)

PPTX
Experiencias emprendedor de apps - AppCierta
PPTX
Apps Ser o Estar
PPTX
Aplicaciones móviles, experiencias de emprendedor
PPTX
Charla estrategia desarrollo aplicaciones móviles Universidad Girona
PPT
Desarrollo android - 6 - multimedia
PPT
Desarrollo android - 5 - almacenamiento de datos
PPT
Desarrollo android - 4 - arquitectura de aplicación
PPT
Desarrollo android - 3 - entorno de desarrollo
PPT
Desarrollo android - 2 - arquitectura del sistema
PPT
Desarrollo android -1 - introduccion
PPTX
El mercado de las aplicaciones moviles
PDF
Curso Taller Android Procesado Imagen
PDF
Taller Curso android WhereAmI
PDF
Curso taller android radio streaming
PDF
Como ganar dinero con las apps
PPT
Curso introducción a android
PPT
Curso Introducción a android
PPT
Curso desarrollo en android
PPTX
TeCHmi Service Portfolio
PPT
Curso Uml 3.2 Proceso Unificado
Experiencias emprendedor de apps - AppCierta
Apps Ser o Estar
Aplicaciones móviles, experiencias de emprendedor
Charla estrategia desarrollo aplicaciones móviles Universidad Girona
Desarrollo android - 6 - multimedia
Desarrollo android - 5 - almacenamiento de datos
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android - 3 - entorno de desarrollo
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android -1 - introduccion
El mercado de las aplicaciones moviles
Curso Taller Android Procesado Imagen
Taller Curso android WhereAmI
Curso taller android radio streaming
Como ganar dinero con las apps
Curso introducción a android
Curso Introducción a android
Curso desarrollo en android
TeCHmi Service Portfolio
Curso Uml 3.2 Proceso Unificado

Último (20)

DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PPTX
caso clínico iam clinica y semiología l3.pptx
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
Escuela Sabática 6. A través del Mar Rojo.pdf
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Fundamentos_Educacion_a_Distancia_ABC.pdf
Tomo 1 de biologia gratis ultra plusenmas
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Escuelas Desarmando una mirada subjetiva a la educación
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
caso clínico iam clinica y semiología l3.pptx
2 GRADO UNIDAD 5 - 2025.docx para primaria
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Híper Mega Repaso Histológico Bloque 3.pdf

Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces

  • 1. Java Inicial (20 horas) Emilio Avilés Ávila http://www.techmi.es
  • 2. Temario Programación Orientada a Objetos Introducción y Sintaxis Java Sentencias Control Flujo POO en Java Relaciones entre Objetos Polimorfismo, abstracción e interfaces Excepciones Conceptos avanzados
  • 3. Tema 6 Polimorfismo, Abstracción e Interfaces
  • 4. Objetivos Programación Orientada a Objetos Introducción y Sintaxis Java Sentencias Control Flujo POO en Java Relaciones entre Objetos Polimorfismo, abstracción e interfaces Excepciones Conceptos avanzados Polimorfismo Variables polimórficas Clases Abstractas Interfaces Herencia múltiple
  • 5. 6 – Polimorfismo, Abstracción e Interfaces Polimorfismo: es la capacidad que tiene los objetos de comportarse de múltiples formas . Un objeto puede comportarse Como los que es (Objeto a la clase a la que pertenece) O Cualquiera de sus clases Base (Padre) En la llamada al constructor de la clase base Persona ( super(e)) pasamos un objeto e (Empleado) Todo objeto de la claseB es objeto de la claseA Todo objeto de la clase Empleado es objeto de la clase persona.
  • 6. 6 – Polimorfismo, Abstracción e Interfaces Polimorfismo: Upcasting Únicamente tienen 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
  • 7. 6 – Polimorfismo, Abstracción e Interfaces Polimorfismo: Upcasting (II) El sentido del polimorfismo es realizar una generalización , 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
  • 8. 6 – Polimorfismo, Abstracción e Interfaces Polimorfismo: Paso argumentos Las conexiones polimorfas se realizan a veces de manera implícita en el paso de argumentos a una operación.
  • 9. 6 – Polimorfismo, Abstracción e Interfaces Polimorfismo: Variables polimórficas: Puede contener referencias a objetos de diferentes clases Ejemplo: Necesitamos implementarnos una agenda para almacenar 500 datos … de Personas o Empleados. ¿Cómo definiremos la clase Agenda? ¿Cómo definiremos el array que lo almacenara? Tipo Persona? Tipo Empleado? Dos arrays independientes  Mal uso memoria!
  • 10. 6 – Polimorfismo, Abstracción e Interfaces Polimorfismo: Variables polimórficas (II) Si tomamos la decisión en base al tamaño: Clase Persona > Clase Empleado Lo anterior da error de compilación
  • 11. 6 – Polimorfismo, Abstracción e Interfaces Polimorfismo: Variables polimórficas (III) Si tomamos la decisión de la clase más genérica: Ahora no da Error ¿por qué?
  • 12. 6 – Polimorfismo, Abstracción e Interfaces Polimorfismo: Variables polimórficas (IV) Problemas de las variables polimórficas: Cuando intentamos invocar métodos que sólo están definidos en la clase hijo Lo anterior da error de compilación
  • 13. 6 – Polimorfismo, Abstracción e Interfaces Polimorfismo: Variables polimórficas (V) Problemas de las variables polimórficas: Solución 1: Hacemos un Cast Pero para la clase Persona  error en ejecución
  • 14. 6 – Polimorfismo, Abstracción e Interfaces Clases Abstractas Existen clases que representan conceptos genéricos y es ilógico instanciar objetos. Puede ser imposible o inútil la implementación de ciertas operaciones. La utilidad de este tipo de clases está en la aplicación de herencia para obtener clases que representan conceptos concretos La clase TareaPeriodica es un claro ejemplo: por sí sola no tiene utilidad, pero simplifica mucho la construcción de las otras tres clases. De hecho, la operación ejecutarTarea en TareaPeriodica no tiene una implementación útil
  • 15. 6 – Polimorfismo, Abstracción e Interfaces Clases Abstractas (II) Una clase abstracta es aquella que tiene una funcionalidad definida Pero que no se puede implementar dicha funcionalidad . Motivo : Se trate de una clase demasiado genérica . A la funcionalidad no implementada se le llama método abstracto Sintaxis
  • 16. 6 – Polimorfismo, Abstracción e Interfaces Clases Abstractas (III) Las operaciones abstractas deben ser implementadas obligatoriamente en alguna de las subclases para que la clase correspondiente sea instanciable. Una clase abstracta puede no tener ninguna operación abstracta, pero una clase que contenga al menos una operación abstracta debe ser declarada como abstracta
  • 17. 6 – Polimorfismo, Abstracción e Interfaces Clases Abstractas (II): No se puede crear objetos (No hay implementación) Los métodos abstractos también se heredan. La clase automóvil define el método arrancar() por que todos los coches tienen dicha funcionalidad. Al no conocer el motor  no puede implementar el método
  • 18. 6 – Polimorfismo, Abstracción e Interfaces Clases Abstractas: Ejemplo Genéricos
  • 19. 6 – Polimorfismo, Abstracción e Interfaces ¿Qué ocurriría si el Círculo y el Rectángulo heredasen de otra clase anteriormente? No podríamos tener la clase figura ya que Java no permite herencia múltiple Para esto tenemos los Interfaces Clase que declara solo métodos sin implementarlos Permite Herencia múltiple
  • 20. 6 – Polimorfismo, Abstracción e Interfaces Interfaces La idea de clase abstracta, llevada al extremo, nos lleva en Java a las interfaces. Una interfaz es similar a una clase totalmente abstracta Sirven para especificar las operaciones que obligatoriamente deben implementar una serie de clases
  • 21. 6 – Polimorfismo, Abstracción e Interfaces Interfaces Sintaxis para indicar que una clase implementa un interfaz. Podemos implementar varios interfaces Puede ser utilizado para definir una variable Puede incluir un objeto que implemente dicho interfaz
  • 22. 6 – Polimorfismo, Abstracción e Interfaces Interfaces Permite herencia múltiple No es necesario poner el public abstract a los métodos  redundante
  • 23. 6 – Polimorfismo, Abstracción e Interfaces Interfaces: Ejemplo Rectángulo / Círculo Interface Rectángulo Círculo
  • 24. 6 – Polimorfismo, Abstracción e Interfaces Interfaces: Ejemplo Tarea periódica
  • 25. Conclusiones Programación Orientada a Objetos Introducción y Sintaxis Java Sentencias Control Flujo POO en Java Relaciones entre Objetos Polimorfismo, abstracción e interfaces Excepciones Conceptos avanzados Polimorfismo Variables polimórficas Clases Abstractas Interfaces Herencia múltiple