Logo Passei Direto
Buscar
Sobre encapsulamento e controle de acesso em Python, qual das opções abaixo descreve corretamente a maneira usual de indicar atributos “privados”? a. Python não oferece convenções para atributos privados; todos os atributos são sempre públicos. b. Ao usar um único underscore (`_atributo`), torna-se impossível acessar esse atributo fora da classe. c. Python implementa atributos verdadeiramente privados com `__duplo_underscore`, através de name mangling, embora o acesso ainda possa ser forçado se necessário. d. Uma classe precisa herdar de uma interface especial para possuir atributos protegidos. e. A visibilidade de atributos é controlada automaticamente pelo interpretador, sem que o programador adicione underscores.
User badge image
Paulo Francisco

há 6 meses

Respostas

User badge image

Ed Verified user icon

há 6 meses

Vamos analisar cada uma das opções para identificar a correta sobre encapsulamento e controle de acesso em Python: a) Python não oferece convenções para atributos privados; todos os atributos são sempre públicos. - Esta afirmação é falsa, pois Python tem convenções para indicar atributos privados. b) Ao usar um único underscore (`_atributo`), torna-se impossível acessar esse atributo fora da classe. - Isso é incorreto. Um único underscore é uma convenção que indica que o atributo é "protegido", mas ainda pode ser acessado fora da classe. c) Python implementa atributos verdadeiramente privados com `__duplo_underscore`, através de name mangling, embora o acesso ainda possa ser forçado se necessário. - Esta afirmação é verdadeira. O uso de dois underscores faz com que o nome do atributo seja modificado (name mangling), dificultando o acesso fora da classe, mas não o impossibilitando. d) Uma classe precisa herdar de uma interface especial para possuir atributos protegidos. - Isso é falso. Não é necessário herdar de uma interface especial para ter atributos protegidos em Python. e) A visibilidade de atributos é controlada automaticamente pelo interpretador, sem que o programador adicione underscores. - Isso também é falso, pois a visibilidade é controlada através das convenções de nomenclatura. Portanto, a alternativa correta é: c) Python implementa atributos verdadeiramente privados com `__duplo_underscore`, através de name mangling, embora o acesso ainda possa ser forçado se necessário.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina