

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Em Programação Orientada a Objetos, o encapsulamento protege o estado interno de um objeto e define como ele pode ser acessado/modificado. Já a herança permite criar classes derivadas a partir de classes base, promovendo reuso e especialização. Dentro desse assunto, considere o trecho de código em Python, usado para modelar pessoas de uma escola.

Assinale a alternativa correta sobre o acesso ao atributo “__nome” e a herança entre as classes.
A herança só ocorre se “Aluno” declarar novamente o método “get_nome”; sem isso, objetos de “Aluno” não possuem “get_nome”.
O atributo “__nome” é público e pode ser acessado diretamente por “aluno.__nome” sem restrições, pois Python não tem encapsulamento.
A chamada “super().__init__(nome)” é inválida em Python; para herdar, corretamente, é necessário repetir todo o código do construtor de “Pessoa” dentro de “Aluno”.
O atributo “__nome” pode ser acessado por “Aluno” como “self.__nome” dentro de “Aluno”, pois a herança permite que subclasses utilizem diretamente os atributos definidos na classe base.
O atributo “__nome” está encapsulado na classe “Pessoa” e deve ser acessado por “get_nome()”; “Aluno” herda de “Pessoa” e reutiliza a inicialização do nome via “super().__init__(nome)”.