Publicado en Tema 5 • Principios de la POO

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

más restrictiva posible.

📦 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:

  • Object
  • String
  • Math
  • java.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.