Está en la página 1de 27

CURSO: JAVA DEVELOPER -

INTELLIJ IDEA

MÓDULO 1: Fundamentos de JAVA

Capítulo 4: Programación Orientada a


Objetos (POO)
Objetivos

Al finalizar del capítulo, el alumno logrará:

• Comprender la metodología usada por Java para la construcción de


programas.
• Construir programas aplicando los conceptos de la programación
orientada a objetos (POO).
• Describir las ventajas de utilizar herencia y polimorfismo en la creación
de aplicaciones.
• Reconocer una clase, una interface y sus diferencias.

2
Agenda

• Clases
• Objetos
• Constructores
• Principios básicos de la POO
• Herencia
• Interfaces y clases abstractas
• Encapsulamiento
• Modificadores de acceso
• Polimorfismo

3
Clases

Una clase es una plantilla o prototipo que define los


atributos y métodos de un objeto.

4
Clases

5
Objetos
Un objeto es una unidad de código con atributos y
métodos predefinidos.

Fuente: https://www.coderglass.com/java/java-object-and-class.php

6
Objetos

7
Constructores
• Son métodos especiales de clase, que se invocan para la instanciación
de un objeto. Tienen el mismo nombre de la clase.
• Usados para inicializar las variables de clase.

8
Ejercicio: Crear programa de clases, atributos y
métodos
Creación de clases de Persona y Ejecutora.

Al finalizar el laboratorio, el alumno logrará:

• Comprender la estructura de una clase en Java.


• Crear constructores de una clase.

9
Principios básicos de la POO

• Herencia
• Encapsulamiento
• Polimorfismo

10
Herencia

• Sintaxis en JAVA:
public class Empleado extends Persona

• Permite ampliar una clase preservando sus características y


operaciones para añadir más funcionalidad.
• La palabra reservada “extends” extiende una clase Java.
• Solo se puede heredar de una clase.
• Se heredan atributos y métodos.
• Se pueden sobrescribir la implementación de los métodos del padre.

11
Herencia

12
Herencia

13
Herencia

14
Ejercicio: Crear programa con herencia

Heredar de una clase padre y sobrescribe un método.

Al finalizar el laboratorio, el alumno logrará:

• Aplicar Herencia en los programas a desarrollar.


• Usar la anotación @override

15
Interfaces y clases abstractas

• Colección de métodos abstractos y propiedades constantes.


• Se especifica qué se debe hacer, pero no cómo.
• Organiza la programación.
• Fuerza a un comportamiento a las clases.
• Soporta “multiherencia”.

16
Interfaces y clases

• Interface es la planificación de la aplicación (comportamiento).


• Clase es la implementación de la aplicación.
• Interface métodos sin implementación.
• Clase métodos implementados.

17
Ejercicio: Crear programa con herencia de
interfaces

Crea una aplicación que permita ejecutar interfaces a varias clases,


dependiendo del funcionamiento que necesitan.

Al finalizar el laboratorio, el alumno logrará:

• Aplicar interfaces a diversas clases.


• Comprender los métodos con y sin implementación.

18
Encapsulamiento

• Permite la modularidad de la lógica.


• Ocultamiento de la información.
• Las clases proveen el beneficio de la reutilización de código.
• Se expone solo lo necesario.

19
Encapsulamiento

20
Modificadores de acceso

• public: accedido por todos.


• protected: acceso desde el mismo paquete y desde clases extendidas.
• “default”: acceso desde el mismo paquete.
• private: acceso restringido a su ámbito.

21
Ejercicio: Crear programa con encapsulamiento

Elabora un programa que demuestre el encapsulamiento y la creación


de métodos de manejo de propiedades.

Al finalizar el laboratorio, el alumno logrará:

• Aplicar el encapsulamiento en Java


• Usar los tipos de medios de acceso.
• Comprender los métodos getter/setter.

22
Polimorfismo

• Capacidad de un objeto de adquirir varias formas.


• Maneja objetos que poseen una raíz común.
• Se puede realizar mediante herencia de clases o interfaces.

23
Ejercicio: Crear programa con polimorfismo

Crea una aplicación que permita aplicar el polimorfismo entre las clases,
atributos y métodos.

Al finalizar el laboratorio, el alumno logrará:

• Aplicar polimorfismo en los programas a desarrollar.


• Usar la palabra reservada abstract.

24
Bibliografía

Para obtener información adicional, puede consultar:

• Clases, objetos en Java


− https://docs.oracle.com/javase/tutorial/java/javaOO/index.html
• Paquetes en Java
− https://docs.oracle.com/javase/tutorial/java/concepts/package.html
• Herencia en Java
− https://docs.oracle.com/javase/tutorial/java/concepts/inheritance.html
• Polimorfismo en Java
− https://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html
• Interface en Java
− https://docs.oracle.com/javase/tutorial/java/concepts/interface.html

25
Resumen

En este capítulo, usted aprendió:


• La diferencia entre una clase y un objeto:
- La clase es una plantilla que define atributos y métodos de un objeto.
- Un objeto es una unidad de código con atributos y métodos.
• Los constructores son métodos que se ejecutan automáticamente
cada vez que se instancia un objeto.

26
Resumen

En este capítulo, usted aprendió:

• Las principales características de la POO son:


- Polimorfismo: múltiples y posibles estados de una única propiedad.
- Herencia: permite extender la funcionalidad de las clases.
- Encapsulamiento: oculta los atributos de una clase.

27

También podría gustarte