An Interest In:
Web News this Week
- March 22, 2024
- March 21, 2024
- March 20, 2024
- March 19, 2024
- March 18, 2024
- March 17, 2024
- March 16, 2024
POO - Encapsulamiento
Cuando hablamos de encapsulacin nos referimos generalmente a definir grados o niveles de acceso y modificacin para nuestros mtodos y atributos. En Python especficamente no existe como tal una 'proteccin' real haca los atributos de una clase, ya que estos se pueden acceder de forma pblica simplemente a travs de la instancia. Lo que se hace para evitar que estos atributos sean cambiados es usar convenciones ya definidas por Python que nos permiten HACER SABER que esos atributos pueden ser accedidos solamente por la clase en la que se encuentran o por las clases que heredan de la misma:
self.__body < de esta forma, con dos guiones bajos, especificamos que nicamente vamos a poder acceder a este atributo estando dentro de la clase en la que se declar,lo que se conoce como ACCESO PRIVADO
self._body < de esta forma, con un guion bajo, especificamos que la propiedad puede ser accedida tanto como la clase en donde fue declarada, como en las que hereden de esta, lo que se conoce como ACCESO PROTEGIDO
Por qu en Python no existe como tal una forma real de proteger a estos atributos?
- Porque en realidad todos estos atributos son de acceso pblico, ya que podemos acceder a ellos y modificarlos a travs de la instancia simplemente llamando a la misma clase:
post = Post('Titulo del post', 'contenido del post', 'programacion', 'Nahuel')
*Para el caso donde el acceso sea "PRIVADO" post.Post._title = 'Cambiando el valor del ttulo'
*Para el caso donde el acceso sea "PROTEGIDO" post._Post._title = 'Cambiando el valor de ttulo'
def __init__(self, title, body, hashtags, author): self._title = title self._body = body self._hashtags = hashtags self._author = author def get_name(self): return self._title def get_body(self): return self._body def get_hashtags(self): return self._hashtags def get_author(self): return self._author`
Original Link: https://dev.to/nahuelsegovia/poo-encapsulamiento-44h1
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To