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.

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