Ed
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.
Já tem uma conta?
Ao continuar, você aceita os Termos de Uso e Política de Privacidade