Principios de la programación Orientada a Objetos
En este tema profundizamos en los principios fundamentales de la programación Orientada a Objetos (POO), una metodología qué nos permite desarrollar aplicaciones más organizadas, reutilizables, seguras y fáciles de mantener.
Java es un lenguaje completamente orientado a objetos, por lo qué entender bien estos conceptos es esencial para el desarrollo profesional de software.
🔐 Encapsulación
La Encapsulación consiste en ocultar los datos internos de una clase y permitir su acceso únicamente a través de métodos controlados.
Objetivos de la Encapsulación
- Proteger el estado del objeto
- Evitar valores incorrectos
- Centralizar validaciones
- Facilitar el mantenimiento del código
Se logra principalmente usando:
- Atributos private
- métodos getter y setter
private int edad;
public void setEdad(int edad) {
if (edad >= 0) {
this.edad = edad;
}
}
👁️ Modificadores de Visibilidad
La visibilidad define desde dónde se puede acceder a clases, atributos y métodos.
- public: accesible desde cualqué clase
- private: accesible solo desde la propia clase
- protected: accesible desde el mismo paqué o subclases
- default: accesible solo desde el mismo paquete
📦 Paquetes
Los paqué permiten organizar las clases y evitar conflictos de nombres.
package modelo;
import modelo.Persona;
En Java se importan clases, no paqué completos (salvo usando *).
📚 Librerías
Una librería es un conjunto de clases ya desarrolladas qué podemos reutilizar.
Ejemplos del JDK:
ObjectStringMathjava.util.Random
Las librerías suelen distribuirse en archivos .jar.
⚙️ Atributos y métodos estáticos
Los miembros estáticos pertenecen a la clase, no a los objetos.
- Son compartidos por todas las instancias
- No requé crear objetos
- Se accede con el nombre de la clase
Math.random();
ContadorObjetos.mostrarTotal();
🧬 Herencia
La herencia permite crear nuevas clases a partir de otras existentes.
class Alumno extends Persona {
}
- Relación “es un”
- No existe herencia múltiple en Java
- Todas las clases heredan de
Object
✅ Conclusión
El Tema 5 sienta las bases para diseñar software orientado a objetos de forma profesional.
Aplicando Encapsulación, visibilidad, herencia, paqué y miembros estáticos conseguimos aplicaciones más seguras, escalables y fáciles de mantener.