Conteúdo do Curso
Programação Orientada a Objetos em Python Avançado
Programação Orientada a Objetos em Python Avançado
Protegido
O modificador de acesso protected pode ser usado no escopo global, mas geralmente é considerado uma má prática. IDEs normalmente ocultam atributos e métodos protegidos de fora da classe, o que pode prejudicar o preenchimento automático e a correção de 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
Você pode usar atributos e métodos protegidos dentro de subclasses.
class User: _entity = "Internet User" class Admin(User): def print_entity(self): print(self._entity) admin = Admin() admin.print_entity()
O modificador de acesso protegido permite definir lógica dentro de uma classe que pode ser estendida para subclasses, mas que não deve ser acessada diretamente de fora da hierarquia da classe.
Nota
Atributos/métodos protegidos em Python funcionam de maneira semelhante aos atributos/métodos regulares, mas por convenção entre os desenvolvedores, eles são usados para encapsular dados dentro de uma classe e suas subclasses.
Obrigado pelo seu feedback!