Questão FC266109
Seja o seguinte cenário: “Temos uma classe abstrata A com 4 métodos abstratos. Uma classe abstrata B que herda de A e implementa 2 métodos abstratos da classe A. Uma classe concret
Linguagens de Programação
IDECAN · 2019
Seja o seguinte cenário: “Temos uma classe abstrata A com 4 métodos abstratos. Uma classe abstrata B que herda de A e implementa 2 métodos abstratos da classe A. Uma classe concreta C que herda de B”. Assinale a afirmativa correta com relação à classe C.
- Obrigatoriamente terá que implementar os 4 métodos abstratos da classe A independente da classe B.
- Terá que obrigatoriamente implementar os 2 métodos abstratos da classe A que não foram implementados na classe B.
- Não será possível sobrescrever os 2 métodos abstratos da classe A implementados na classe B.
- Uma classe abstrata não pode herdar dela.
- Se existir outra classe concreta, digamos D, que herda de C, então a classe C não precisa implementar os 2 métodos abstratos de A não implementados em B, a responsabilidade será da classe D.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A afirmação está correta: como classe concreta, C deve fornecer corpo para todos os métodos abstratos que permanecerem sem implementação na hierarquia de herança.
A hierarquia é: A declara 4 métodos abstratos; B implementa 2 deles, mas continua abstrata, permitindo que 2 métodos fiquem ainda abstratos. Ao estender B, C herda esses 2 membros abstratos não implementados.
Portanto, C precisa obrigatoriamente implementar esses 2 métodos para ser instanciável. Ela pode opcionalmente sobrescrever (override) outros métodos já implementados, mas não é exigido.
Em resumo: ser concreta implica eliminar todas as abstrações restantes herdadas; aqui, isso recai sobre os 2 métodos de A ainda não implementados por B.
Conteúdo do catálogo FC Concursos · Atualizado em