Volver al blog

Programación orientada a objetos: explicación clara con un ejemplo

Programación orientada a objetos: explicación clara con un ejemplo

La programación orientada a objetos (POO) suele explicarse con muchas definiciones antes de que el alumno sepa qué problema resuelve. Empecemos por la idea útil: agrupar datos y las operaciones que tienen sentido sobre esos datos.

Clase y objeto no son lo mismo

Imagina una aplicación que gestiona cuentas bancarias. Cada cuenta tiene un titular y un saldo, y permite ingresar o retirar dinero. La clase describe qué información y comportamientos tendrá cualquier cuenta. Un objeto es una cuenta concreta creada a partir de esa descripción.

La clase es el modelo; el objeto contiene un estado real. Si creas dos objetos, cada uno mantiene su propio saldo aunque los dos respeten las mismas reglas.

Atributos y métodos

Los atributos representan el estado: titular y saldo. Los métodos expresan acciones válidas: ingresar, retirar o consultarSaldo.

La decisión importante no es solo dónde escribir una función. Pregúntate qué objeto posee la información necesaria y quién debe proteger sus reglas. En este caso, la propia cuenta debería impedir una retirada inválida.

Encapsulación: proteger una regla

Si cualquier parte del programa puede cambiar el saldo directamente, también puede dejarlo en un estado imposible. Encapsular significa limitar ese acceso y ofrecer operaciones controladas.

En vez de asignar saldo = -500, se llama a retirar(500). El método comprueba si la operación está permitida y comunica el resultado. La regla queda en un solo lugar, más fácil de probar y mantener.

¿Cuándo tiene sentido la herencia?

La herencia permite definir una clase más específica a partir de otra. Pero no debería usarse solo para evitar repetir dos líneas. Tiene sentido cuando existe una relación estable del tipo “es un” y el comportamiento base sigue siendo válido.

Una cuenta de ahorro puede ser una cuenta con reglas adicionales. En cambio, un cliente tiene cuentas; no es una cuenta. En ese caso corresponde composición: un objeto contiene o utiliza otros objetos.

Un ejercicio para comprobar que lo entiendes

Diseña una biblioteca sencilla:

  1. Identifica los posibles objetos: libro, usuario y préstamo.
  2. Decide qué estado pertenece a cada uno.
  3. Escribe las acciones permitidas.
  4. Coloca cada regla donde están los datos que necesita.
  5. Prueba casos normales y casos inválidos.

No empieces por la herencia. Empieza por responsabilidades claras. Si puedes explicar por qué un método pertenece a una clase y qué estado protege, ya estás razonando con objetos en lugar de traducir definiciones de memoria.

Si estás en la carrera y quieres practicar con exámenes, tienes la POO de la universidad con ejercicios de examen resueltos: herencia, polimorfismo, interfaces, equals y excepciones.

La POO es el punto donde más alumnos se descuelgan en un ciclo. Si es tu caso, así la trabajamos en las clases de programación para DAM y DAW y en las clases para universidad.

WhatsApp