Contenido del Curso
Programación Orientada a Objetos en Python a Fondo
Programación Orientada a Objetos en Python a Fondo
Protegido
El modificador de acceso protegido puede usarse en el ámbito global, pero generalmente se considera una mala práctica. Los IDE suelen ocultar los atributos y métodos protegidos desde fuera de la clase, lo que puede dificultar el autocompletado y la corrección del código.
class SomeClass(): first = "Something" _attribute = "Protected" def _method(self): print("You should use protected inside the class") def info(self): print("INFO") print("first:", self.first) print("_attribute:", self._attribute) self._method() instance = SomeClass() print("Outside:", instance._attribute) # BAD PRACTICE instance.info() # It's OK
Puede utilizar atributos y métodos protegidos dentro de las subclases.
class User: _entity = "Internet User" class Admin(User): def print_entity(self): print(self._entity) admin = Admin() admin.print_entity()
El modificador de acceso protegido permite definir lógica dentro de una clase que puede extenderse a subclases, pero a la que no debe accederse directamente desde fuera de la jerarquía de clases.
Nota
Los atributos/métodos protegidos en Python funcionan de forma similar a los atributos/métodos normales, pero por convención entre los desarrolladores, se utilizan para encapsular datos dentro de una clase y sus subclases.
¡Gracias por tus comentarios!