Em algumas linguagens de Programação Orientadas a Objetos c...

Próximas questões
Com base no mesmo assunto
Q737785 Programação
Em algumas linguagens de Programação Orientadas a Objetos como, por exemplo, o C++, ao se derivar uma classe a partir de uma classe base, a classe base pode ser herdada como public, protected ou private. Quando a derivação é do tipo protected, os membros
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

```html

A alternativa correta é a B.

Vamos entender o que está por trás dessa questão. Ela aborda o conceito de herança em linguagens de programação Orientadas a Objetos (OO), especificamente no C++. A herança é um dos pilares básicos da programação OO e permite que uma classe (chamada de classe derivada) herde atributos e métodos de outra classe (chamada de classe base).

No C++, a herança pode ser feita de três maneiras: public, protected e private. Isso determina como os membros da classe base serão acessíveis na classe derivada. Vamos analisar cada uma:

Herança Public: Os membros public da classe base permanecem public na classe derivada, e os membros protected permanecem protected. Os membros private da classe base não são acessíveis diretamente na classe derivada.

Herança Protected (alternativa correta - B): Os membros public e protected da classe base tornam-se membros protected da classe derivada. Isso significa que esses membros estarão acessíveis na classe derivada e em suas subclasses, mas não fora delas.

Herança Private: Todos os membros public e protected da classe base tornam-se private na classe derivada. Ou seja, eles são acessíveis apenas dentro da própria classe derivada.

Agora, vamos entender por que as outras alternativas estão incorretas:

  • A - Os membros private da classe base não são acessíveis diretamente na classe derivada, independentemente do tipo de herança. Eles são encapsulados na classe base.
  • C - Não é verdade que todos os membros se tornam private; isso só ocorre na herança private, não na protected.
  • D - Os membros protected da classe base não tornam-se public; eles permanecem protected na herança protected.
  • E - Não há conversão de membros protected para public na herança protected; ambos se tornam protected na classe derivada.

Compreender esses conceitos é vital para trabalhar de maneira eficaz com a programação orientada a objetos, permitindo o uso adequado de herança e controle de acesso.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

```

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

A = Acesso na Própria Classe

C = Depende da Herança, Como foi PROTECTED APENAS PUBLIC e PROTECTED tornam-se PROTECTED

D = Tornam-se PROTECTED

E = Tornam-se PROTECTED

Private não vai virar PROTECTED NA CLASSE DERIVADA

GABARITO B

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo