🔒 1. Encapsulamiento
Es un principio de la programación orientada a objetos que protege los datos internos de una clase, restringiendo el acceso directo a ellos.
🧪 Ejemplo:
¿Qué significa __nombre
?
El doble guión bajo convierte el atributo en privado, es decir, no se puede acceder directamente desde fuera de la clase (usuario.__nombre
dará error).
👉 Se accede mediante métodos públicos, como obtener_nombre()
.
🏷️ 2. Uso de @property
y @setter
Permite controlar cómo se accede y modifica un atributo, manteniendo la sintaxis simple como si fuera público.
🧪 Ejemplo:
Ventaja:
Permite hacer validaciones al asignar o leer atributos, manteniendo una interfaz clara:
🔁 3. Métodos Especiales (Magic Methods)
Son métodos que comienzan y terminan con __
. Python los usa para sobrecargar operadores y personalizar comportamientos.
✅ Ejemplos útiles:
Método | ¿Qué hace? |
---|---|
__str__ | Representación en print() |
__len__ | Permite usar len(obj) |
__eq__ | Permite usar obj1 == obj2 |
__add__ | Permite usar obj1 + obj2 |
🧪 Ejemplo de __str__
:
🧱 4. Principios SOLID aplicados a Python
Estos principios ayudan a diseñar código mantenible, limpio y escalable.
🧩 Explicación de cada uno:
-
S – Single Responsibility
Cada clase debe tener una única responsabilidad. No mezcles lógica de base de datos con lógica de interfaz, por ejemplo. -
O – Open/Closed
Las clases deben estar abiertas a extensión pero cerradas a modificación. Usa herencia o composición en lugar de cambiar código existente. -
L – Liskov Substitution
Una subclase debe poder reemplazar a su clase padre sin alterar el comportamiento del programa. -
I – Interface Segregation
No fuerces a una clase a implementar métodos que no necesita. Divide interfaces en bloques más pequeños si hace falta. -
D – Dependency Inversion
No dependas de clases concretas, sino de abstracciones. Usa interfaces o clases base cuando sea posible.
🏦 5. Ejemplo completo con todo lo aprendido
-
Usa encapsulamiento (
_saldo
) -
Tiene métodos claros y separados
-
Usa
__str__
para mostrar el objeto de forma legible -
Cumple con el principio SRP (una clase → una tarea)
No hay comentarios:
Publicar un comentario
Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.