Encapsulamiento en Java: Atributos privados y métodos getter y setter
Clase 14 de 31 • Curso de Java
Contenido del curso
- 10

Atributos y métodos estáticos en clases utilitarias de Java
08:43 - 11

Constantes en Java: inmutabilidad con static final
04:08 - 12

Constructores en Java para inicializar objetos con datos
08:10 - 13

Gestión de memoria en Java: stack, heap y garbage collector
07:04 - 14

Encapsulamiento en Java: Atributos privados y métodos getter y setter
09:26 - 15

Operaciones básicas con listas en Java: agregar, eliminar y recorrer
11:12 - 16

Relaciones entre clases en Java: asociación, agregación y composición
03:45 - 17

Implementación de menús interactivos con while y switch en Java
11:38 - 18

Búsqueda y eliminación de elementos en listas de Java
09:20 quiz de Construcción de clases y modelado de objetos
- 19

Streams y lambdas para filtrar listas en Java
11:55 - 20

Transformación y ordenamiento de listas con streams en Java
11:49 - 21

Validación de entrada con enums en Java
11:56 - 22

Diferencias entre Excepciones Checked y Unchecked en Java
08:16 - 23

Records para simplificar código inmutable en Java
07:00 - 24

Mapas en Java para contar visualizaciones de películas
09:47 - 25

Lectura de archivos planos y conversión a objetos en Java
13:48 - 26

Escritura de archivos planos con la API moderna de Java
09:50 quiz de Estructuras de datos y Java moderno
El encapsulamiento es un concepto fundamental en la programación orientada a objetos (POO). Permite ocultar o proteger los detalles internos de una clase y controlar cómo se accede a su información. Este enfoque incrementa la seguridad, evita errores y facilita el mantenimiento del código.
¿Cómo funciona el encapsulamiento en Java?
El encapsulamiento en Java está directamente relacionado con la visibilidad de los atributos de una clase. Una práctica recomendada es declarar los atributos como privados para impedir el acceso directo desde fuera de la clase. Así, solo se puede interactuar con ellos a través de métodos públicos.
- Los atributos privados no pueden ser modificados ni leídos desde fuera de la clase.
- Los métodos públicos permiten controlar cómo se accede o modifica la información.
- Utilizar modificadores de acceso privados protege los datos sensibles de la clase.
¿Para qué sirven los métodos getter y setter en Java?
Cuando se necesita acceder o modificar los valores de los atributos privados, se usan los métodos getter y setter. Los getter permiten obtener información, mientras que los setter se utilizan para establecer valores.
- Un getter devuelve el valor del atributo sin modificarlo. Ejemplo:
getTitulo()retorna el título de la película. - Un setter permite cambiar el valor de un atributo si el diseño lo permite. Ejemplo:
setDescripcion()modifica la descripción de la película. - Es crucial decidir qué atributos necesitarán setters, especialmente si no conviene que el valor cambie tras la creación del objeto.
En Java, los booleanos siguen la convención de utilizar is en el getter en vez de get, por claridad al usar condiciones.
¿Qué prácticas se recomiendan para escribir clases seguras y robustas?
Seguir estructuras y convenciones claras refuerza la robustez del software y asegura clases seguras:
- Declarar atributos privados por defecto en cada clase.
- Ubicar los métodos getter y setter al final de la clase, luego de atributos, constructores y métodos principales.
- Crear getters solo para los atributos que deban ser consultados desde fuera de la clase.
- Agregar setters únicamente cuando sea indispensable modificar ciertos atributos.
- Analizar si conviene permitir cambios en atributos clave; por ejemplo, el título de una película generalmente no debe modificarse.
- Los métodos públicos son los únicos accesibles externamente, lo cual da mayor control sobre los datos.
¿Cómo aplicar el encapsulamiento con otros objetos?
Se invita a practicar encapsulando los atributos de una clase distinta, como usuario. Al hacerlo, piensa qué atributos deben ser privados, cuáles deberían tener getters, y si conviene permitir setters.
¿Permitirías que un usuario cambie su nombre o fecha de registro? Coméntalo y comparte tus ideas para enriquecer el aprendizaje.