SlideShare una empresa de Scribd logo
1 de 23
CICLO II:
Programación
Básica en Java
Sesión 10:
Introducción a Java
Programación Orientada a Objetos (POO)
Objetivos e la sesión
Al finalizar esta sesión estarás en capacidad de:
1. Explicar el polimorfismo básico y su relación con la herencia en Java.
2. Explicar el polimorfismo utilizando los conceptos de clase abstracta y la
sobreescritura de métodos (@OverEditor).
3. Construir programas que usen el polimorfismo básico con el apoyo de la
herencia y con el uso de la clase abstracta y la sobreescritura de métodos.
Polimorfismo
Volar
QUE ES POLIMORFISMO
EN UNA RELACION DE TIPO
HERENCIA,
UN OBJETO DE LA SUPERCLASE PUEDE
ALMACENAR UN OBJETO
DE CUALQUIERA DE SUS SUBCLASES
QUE ES POLIMORFISMO
LA CLASE PADRE O SUPERCLASE
ES COMPATIBLE CON LOS TIPOS
QUE DERIVAN DE ELLA
PERO NO AL REVES
QUE ES POLIMORFISMO
POLI = MUCHOS
MORFISMO = FORMA
POLIMORFISMO ES
LAS MUCHAS FORMAS QUE PUEDE
TOMAR UN OBJETO DEPENDIENDO DEL
CONTEXTO DONDE LO UTILICES
QUE ES POLIMORFISMO
SE PUEDE CREAR UN OBJETO DE CLASE
PADRE
PERO SE PUEDE INSTANCIAR CON
CUALQUIERA DE SUS CLASES
HIJA
QUE ES POLIMORFISMO
CUANDO SE CREA UN OBJETO
ESTE SE COMPORTA DE MANERA
DIFERENTE
DEPENDIENDO DE QUE
SUBCLASE INSTANCIE
Polimorfismo
Avión
-Alas
-Cabina
+Despegar()
+Aterrizar()
+Volar()
AvionGuerra
-TipoMisil
+Disparar()
+Volar()
AvionComercial
-NumeroPasajeros
+DarRefrigerio()
+Volar()
AvionCarga
-Peso
+ValidarPeso()
+Volar()
Polimorfismo
● Muchas Formas que puede tomar un objeto
¿Qué es?
● Los objetos pueden tener distinto comportamiento
dependiendo de su interacción
¿Por qué?
● Código limpio
● Ahorrar tiempo
¿Para qué?
Polimorfismo
• En Java, el polimorfismo se refiere a la capacidad que
tiene un objeto de comportarse de múltiples formas o
de decidir qué método aplicar, dependiendo de la clase
a la que pertenece. El polimorfismo en Java se
implementa por medio de la herencia.
• Esto significa que dos clases que tengan un método con
el mismo nombre y que reciban los mismo parámetros,
ejecutarán acciones distintas.
• Una llamada a un método genérico de una Superclase
ejecuta la implementación correspondiente del método
dependiendo de la clase del objeto que se creó.
POLI:
Múltiple
Morfismo:
Forma
Polimorfismo – Ejemplo
Se tienen las clases Entero y Char, cada una responderá de manera diferente al
método Sucesor.
OBJETOS
‘F'
5
METODO
Sucesor RESULTADOS
‘G'
6
Polimorfismo – Ejemplo Java
public class Avion {
public void Volar() {
System.out.println(“Con toda”);
}
}
public class AvionComercial extends Avion () {
public void Volar() {
System.out.println(“Con pasajeros”);
}
}
public clas AvionCarga extends Avion () {
public void Volar() {
System.out.println(“Con productos”);
}
}
public static void main (String[] args) {
Avion a = new AvionComercial();
Avion b = new AvionCarga();
a.Volar();
b.Volar();
}
CLASES Y METODOS ABSTRACTOS
• Se utilizan solo como SUPERCLASES
• No se pueden INSTANCIAR objetos
• Sirve para proporcionar una super clase apropiada a
partir de la cual heredan otras clases
Clases abstractas
• Cuando hay herencia se puede crear una clase abstracta.
• Se denomina clase abstracta a una clase que tiene algún método sin implementar.
• Para definir una clase abstracta se debe tener en cuenta:
• En la declaración de la clase añadir abstract.
• Dejar sólo la declaración del método, añadiendo igualmente abstract.
• Una subclase de una clase abstracta debe:
• Implementar todos los métodos abstractos heredados, o bien
• Ser a su vez declarada abstracta.
Clases abstractas
• Una clase abstracta no puede ser instanciada.
• Puede contener métodos abstractos, a ser implementados en subclases.
• Puede contener métodos concretos.
public abstract class Padre {
…
public abstract void método();
}
public class Hija extends Padre {
public void método() {
…
}
}
Clase Padre es abstracta: si se
intenta instanciarla, se produce
un error de compilación
Si la clase Hija no provee una
implementación del método
metodo(), se produce un error de
compilación
Clases Abstractas – Sobreescritura de métodos
• La sobrescritura tiene sentido si la subclase tiene características que hagan que
ese método deba ejecutar acciones adicionales.
• Para sobrescribir se utiliza @Override justo encima de la definición del método.
• El método de la subclase debe tener la misma definición que el de la superclase.
• En caso de no sobrescribir un método, se ejecutará el de la superclase.
Clases abstractas, @override – Polimorfismo
Ejemplo
// Clase padre
public abstract class Vehiculo {
public abstract void abastecer(double litros);
}
// Clase hija
public class Taxi extends Vehiculo {
public Taxi() {
}
@override
public void abastecer (double litros) {
}
}
METODO ABSTRACTO
CUANDO UN METODO ES MUY
GENERICO Y NO SE PUEDE IMPLEMENTAR Y
EXISTE LA HERENCIA SE DEBE
CONVERTIR EN UN
METODO ABSTRACTO E IMPLEMENTARLO EN
LOS HIJOS
10 - Slides-Java sesion.pptx
10 - Slides-Java sesion.pptx

Más contenido relacionado

Similar a 10 - Slides-Java sesion.pptx

Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoAngel Vázquez Patiño
 
Certificación java 6 cap 2
Certificación java 6 cap 2Certificación java 6 cap 2
Certificación java 6 cap 2srBichoRaro
 
METODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptxMETODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptxjuan gonzalez
 
_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptxFabianAndresNuezPinz
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfJCarlosCrespo
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1Oscar V
 
Cuarta sesion herencia y polimorfismo-explicacion anibal
Cuarta sesion herencia y polimorfismo-explicacion anibalCuarta sesion herencia y polimorfismo-explicacion anibal
Cuarta sesion herencia y polimorfismo-explicacion anibalCarlos Anibal Riascos Hurtado
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosJonathan Macías
 
Polimorfismo ppt
Polimorfismo  pptPolimorfismo  ppt
Polimorfismo pptivanvillar7
 
Clases abstractas java metodos abstract class api ejemplo ejercicio
Clases abstractas java metodos abstract class api ejemplo ejercicioClases abstractas java metodos abstract class api ejemplo ejercicio
Clases abstractas java metodos abstract class api ejemplo ejercicioJose Luis Moreno Arcos
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguezcoruniversitec
 
polimorfismo
polimorfismopolimorfismo
polimorfismomiguel a
 
Java_Capitulo_7
Java_Capitulo_7Java_Capitulo_7
Java_Capitulo_7Espol
 

Similar a 10 - Slides-Java sesion.pptx (20)

Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismo
 
Certificación java 6 cap 2
Certificación java 6 cap 2Certificación java 6 cap 2
Certificación java 6 cap 2
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
METODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptxMETODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptx
 
10 Polimorfismo
10   Polimorfismo10   Polimorfismo
10 Polimorfismo
 
_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx
 
Polimorfism oo
Polimorfism ooPolimorfism oo
Polimorfism oo
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdf
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
 
Cuarta sesion herencia y polimorfismo-explicacion anibal
Cuarta sesion herencia y polimorfismo-explicacion anibalCuarta sesion herencia y polimorfismo-explicacion anibal
Cuarta sesion herencia y polimorfismo-explicacion anibal
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
 
Tema7 herencia
Tema7 herenciaTema7 herencia
Tema7 herencia
 
Guía Herencia PO_O
Guía Herencia PO_OGuía Herencia PO_O
Guía Herencia PO_O
 
Polimorfismo ppt
Polimorfismo  pptPolimorfismo  ppt
Polimorfismo ppt
 
Clases abstractas java metodos abstract class api ejemplo ejercicio
Clases abstractas java metodos abstract class api ejemplo ejercicioClases abstractas java metodos abstract class api ejemplo ejercicio
Clases abstractas java metodos abstract class api ejemplo ejercicio
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguez
 
Herencia
HerenciaHerencia
Herencia
 
Historia java ruben
Historia java rubenHistoria java ruben
Historia java ruben
 
polimorfismo
polimorfismopolimorfismo
polimorfismo
 
Java_Capitulo_7
Java_Capitulo_7Java_Capitulo_7
Java_Capitulo_7
 

Último

linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añosMaraPazCrdenas
 
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptPresentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptCARLOSAXELVENTURAVID
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptxRosiClaros
 
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfTALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfMiguelGomez900779
 
PLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primariaPLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primariajosevilla696981
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf socialesJhonathanRodriguez10
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosDebora Gomez Bertoli
 
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVOPERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVOAdrianaBernal82
 

Último (8)

linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los años
 
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptPresentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.ppt
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
 
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfTALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
 
PLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primariaPLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primaria
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todos
 
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVOPERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
 

10 - Slides-Java sesion.pptx

  • 2. Sesión 10: Introducción a Java Programación Orientada a Objetos (POO)
  • 3. Objetivos e la sesión Al finalizar esta sesión estarás en capacidad de: 1. Explicar el polimorfismo básico y su relación con la herencia en Java. 2. Explicar el polimorfismo utilizando los conceptos de clase abstracta y la sobreescritura de métodos (@OverEditor). 3. Construir programas que usen el polimorfismo básico con el apoyo de la herencia y con el uso de la clase abstracta y la sobreescritura de métodos.
  • 5. QUE ES POLIMORFISMO EN UNA RELACION DE TIPO HERENCIA, UN OBJETO DE LA SUPERCLASE PUEDE ALMACENAR UN OBJETO DE CUALQUIERA DE SUS SUBCLASES
  • 6. QUE ES POLIMORFISMO LA CLASE PADRE O SUPERCLASE ES COMPATIBLE CON LOS TIPOS QUE DERIVAN DE ELLA PERO NO AL REVES
  • 7. QUE ES POLIMORFISMO POLI = MUCHOS MORFISMO = FORMA POLIMORFISMO ES LAS MUCHAS FORMAS QUE PUEDE TOMAR UN OBJETO DEPENDIENDO DEL CONTEXTO DONDE LO UTILICES
  • 8. QUE ES POLIMORFISMO SE PUEDE CREAR UN OBJETO DE CLASE PADRE PERO SE PUEDE INSTANCIAR CON CUALQUIERA DE SUS CLASES HIJA
  • 9. QUE ES POLIMORFISMO CUANDO SE CREA UN OBJETO ESTE SE COMPORTA DE MANERA DIFERENTE DEPENDIENDO DE QUE SUBCLASE INSTANCIE
  • 10.
  • 12. Polimorfismo ● Muchas Formas que puede tomar un objeto ¿Qué es? ● Los objetos pueden tener distinto comportamiento dependiendo de su interacción ¿Por qué? ● Código limpio ● Ahorrar tiempo ¿Para qué?
  • 13. Polimorfismo • En Java, el polimorfismo se refiere a la capacidad que tiene un objeto de comportarse de múltiples formas o de decidir qué método aplicar, dependiendo de la clase a la que pertenece. El polimorfismo en Java se implementa por medio de la herencia. • Esto significa que dos clases que tengan un método con el mismo nombre y que reciban los mismo parámetros, ejecutarán acciones distintas. • Una llamada a un método genérico de una Superclase ejecuta la implementación correspondiente del método dependiendo de la clase del objeto que se creó. POLI: Múltiple Morfismo: Forma
  • 14. Polimorfismo – Ejemplo Se tienen las clases Entero y Char, cada una responderá de manera diferente al método Sucesor. OBJETOS ‘F' 5 METODO Sucesor RESULTADOS ‘G' 6
  • 15. Polimorfismo – Ejemplo Java public class Avion { public void Volar() { System.out.println(“Con toda”); } } public class AvionComercial extends Avion () { public void Volar() { System.out.println(“Con pasajeros”); } } public clas AvionCarga extends Avion () { public void Volar() { System.out.println(“Con productos”); } } public static void main (String[] args) { Avion a = new AvionComercial(); Avion b = new AvionCarga(); a.Volar(); b.Volar(); }
  • 16. CLASES Y METODOS ABSTRACTOS • Se utilizan solo como SUPERCLASES • No se pueden INSTANCIAR objetos • Sirve para proporcionar una super clase apropiada a partir de la cual heredan otras clases
  • 17. Clases abstractas • Cuando hay herencia se puede crear una clase abstracta. • Se denomina clase abstracta a una clase que tiene algún método sin implementar. • Para definir una clase abstracta se debe tener en cuenta: • En la declaración de la clase añadir abstract. • Dejar sólo la declaración del método, añadiendo igualmente abstract. • Una subclase de una clase abstracta debe: • Implementar todos los métodos abstractos heredados, o bien • Ser a su vez declarada abstracta.
  • 18. Clases abstractas • Una clase abstracta no puede ser instanciada. • Puede contener métodos abstractos, a ser implementados en subclases. • Puede contener métodos concretos. public abstract class Padre { … public abstract void método(); } public class Hija extends Padre { public void método() { … } } Clase Padre es abstracta: si se intenta instanciarla, se produce un error de compilación Si la clase Hija no provee una implementación del método metodo(), se produce un error de compilación
  • 19. Clases Abstractas – Sobreescritura de métodos • La sobrescritura tiene sentido si la subclase tiene características que hagan que ese método deba ejecutar acciones adicionales. • Para sobrescribir se utiliza @Override justo encima de la definición del método. • El método de la subclase debe tener la misma definición que el de la superclase. • En caso de no sobrescribir un método, se ejecutará el de la superclase.
  • 20. Clases abstractas, @override – Polimorfismo Ejemplo // Clase padre public abstract class Vehiculo { public abstract void abastecer(double litros); } // Clase hija public class Taxi extends Vehiculo { public Taxi() { } @override public void abastecer (double litros) { } }
  • 21. METODO ABSTRACTO CUANDO UN METODO ES MUY GENERICO Y NO SE PUEDE IMPLEMENTAR Y EXISTE LA HERENCIA SE DEBE CONVERTIR EN UN METODO ABSTRACTO E IMPLEMENTARLO EN LOS HIJOS