Dokan escribió:Parece algo importante a tener en cuenta a la hora de programar cualquier cosa, ¿Podrías explicar en pocas palabras como funciona la encapsulación en python?.
Si, creo que la encapsulación es una buena pauta para adoptar,
principalmente porque se busca que un programa sea fácil de
comprender y modificar. Y la encapsulación te anima a lograr eso.
La idea general es buscar que el sistema funcione mediante
objetos que intercambian mensajes entre sí, y que cada objeto haga
su parte del trabajo. Para ello cada objeto debe contar con un conjunto
de métodos que muestran de forma clara su rol al exterior, y que no exista
la necesidad de acceder a sus variables para hacer algo útil.
En python no hay métodos o variables protegidas o privadas, al principio
tienes acceso a cada variable dentro de un objeto. Por ello, la
encapsulación es un asunto de estilo del programador; python no te obliga
a proteger las variables de tus objetos. Por ello muchos programadores
adoptan convensiones para distinguir que atributos quieren exponer
como publicos y cuales no. Una de estas formas es nombrar a la variable
con uno o dos guiones bajos como prefijo.
Adicionalmente, si deseas mantener el control del valor de una variable,
por ejemplo para mantener la consistencia con otros objetos, puedes
tomar esa variable y convertirla en una propiedad... hay una explicación
de como lograr esto esto en:
http://blog.rvburke.com/2006/11/22/prog ... en-python/
y bueno, en general el vínculo anterior es una excelente referencia
para conocer en detalle varios asuntos relacionados con la programación
y python. Es muy recomendada su lectura.
Un saludo.