Quanto à visibilidade, uma classe C++ contempla a
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - protegida (protected), a pública (public) e a privada (private).
No contexto da programação orientada a objetos em C++, a visibilidade de membros (variáveis e funções) em uma classe é fundamental para o encapsulamento, que é um dos pilares da orientação a objetos. Os modificadores de acesso definem como os membros da classe podem ser acessados e modificados, e existem três níveis de visibilidade:
- Privada (private): Membros privados só podem ser acessados e modificados diretamente dentro da própria classe em que são declarados. Eles não são acessíveis por classes derivadas ou por funções externas à classe.
- Protegida (protected): Membros protegidos são semelhantes aos membros privados, mas com uma diferença importante: eles podem ser acessados por classes derivadas. Isso permite que uma classe base compartilhe características com classes derivadas, mantendo restrições de acesso em relação ao resto do programa.
- Pública (public): Membros públicos podem ser acessados de qualquer parte do programa que possua uma instância da classe ou possa acessar uma referência a uma instância. Isso inclui funções externas à classe e classes derivadas.
Assim, a alternativa D é correta porque em C++ uma classe pode de fato conter membros com todos esses três níveis de acesso — privado, protegido e público — permitindo ao desenvolvedor controlar o acesso aos membros da classe de maneira flexível e segura, de acordo com as necessidades de encapsulamento e herança do design do software.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Dentro de uma classe os métodos e atributos possuem o seguinte escopo:
Public :
- Método ou atributo visível a todas as Classes.
- Ao utilizar um atributo public é possível o acesso e modificação do mesmos diretamente, sendo assim este atributo não estará encapsulado na classe.
Protected :
- Método ou atributo visível nas subclasses.
- Facilita o acesso aos atributos não sendo necessário a utilização de métodos getters (getXxxx) e/ou setters (setXxxx) nas subclasses.
Private:
- Método ou atributo visível somente na classe onde é utilizado.
- Permite encapsular o atributo dentro da classe.
- Um método private somente pode ser utilizado pelos próprios métodos da classe.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo