Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Protegido | Encapsulamento
Programação Orientada a Objetos em Python Avançado
course content

Conteúdo do Curso

Programação Orientada a Objetos em Python Avançado

Programação Orientada a Objetos em Python Avançado

1. Conceitos de POO
2. Herança
3. Encapsulamento
4. Polimorfismo e Abstração
5. Métodos Mágicos

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.

1234567891011121314151617
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
copy

Você pode usar atributos e métodos protegidos dentro de subclasses.

123456789
class User: _entity = "Internet User" class Admin(User): def print_entity(self): print(self._entity) admin = Admin() admin.print_entity()
copy

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.

Como definir um atributo protegido?

Selecione a resposta correta

Tudo estava claro?

Seção 3. Capítulo 3
We're sorry to hear that something went wrong. What happened?
some-alt