1Clases, objetos y encapsulamiento

La POO es un paradigma de programación que organiza el código mediante objetos que representan elementos reales, cada uno con propiedades (atributos) y comportamientos (métodos). Su propósito central es mejorar la modularidad, la reutilización y el mantenimiento del software.

  • Clase: modelo o plantilla que define las características y comportamientos comunes.
  • Objeto: instancia concreta de una clase, con valores propios.
java
class Coche {
    String marca;
    void arrancar() { ... }
}
Coche miCoche = new Coche();

El encapsulamiento protege los datos mediante modificadores de acceso (private, public, protected) y métodos getters y setters que controlan cómo se lee y modifica cada atributo.

2Herencia y polimorfismo

La herencia permite que una clase (subclase) herede atributos y métodos de otra (superclase), facilitando la reutilización del código.

java
class Deportivo extends Coche { }

El polimorfismo permite que diferentes clases respondan de manera distinta al mismo mensaje o método, mediante sobrecarga (mismo nombre, distintos parámetros) o sobrescritura (redefinir un método heredado).

3Abstracción

La abstracción permite centrarse solo en los aspectos esenciales de un objeto, ocultando los detalles de implementación. Se implementa mediante clases abstractas e interfaces.

✓Ideas clave que debes dominar

  • POO: paradigma que organiza el código en objetos con atributos (propiedades) y métodos (comportamientos).
  • Clase = plantilla; objeto = instancia concreta con valores propios.
  • Encapsulamiento: private / public / protected + getters/setters.
  • Herencia: subclase extends superclase → reutiliza atributos y métodos.
  • Polimorfismo: mismo mensaje, distinta respuesta (sobrecarga o sobrescritura).
  • Abstracción: centrarse en lo esencial vía clases abstractas e interfaces.

Adaptado de Repaso de Programación Orientada a Objetos (POO).