🎯 Saiba o que estudar

Avançado com Treinador a partir de R$ 0,76/dia

No projeto de sistemas orientados a objetos, a hierarquia d...

Próximas questões
Com base no mesmo assunto
Q4193140 Programação
No projeto de sistemas orientados a objetos, a hierarquia de classes permite a reutilização de código e a padronização de comportamentos. Acerca das diferenças e aplicações de classes concretas e abstratas, registre V, para as afirmativas verdadeiras, e F, para as falsas:

(__)Uma classe abstrata serve como modelo para outras classes e não permite que instâncias (objetos) sejam criadas diretamente a partir dela.
(__)Classes concretas são aquelas que implementam todos os métodos definidos em sua hierarquia, permitindo a criação de objetos operacionais.
(__)Uma classe abstrata pode conter métodos concretos, com implementação definida, além de assinaturas de métodos abstratos sem corpo.
(__)Toda classe abstrata deve possuir pelo menos dez métodos abstratos para ser considerada válida pelo compilador da linguagem.

Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C

Fundamento decisivo: A sequência dependia de reconhecer que a 4ª assertiva inventa uma exigência inexistente para classe abstrata; por isso, ela é falsa e a alternativa correta é C.

Tema central: classes abstratas e concretas
Análise das alternativas
A
Errada
Está errada porque marca como falsa a 1ª assertiva, embora classe abstrata realmente não seja instanciável diretamente, e também marca como falsa a 3ª, embora uma classe abstrata possa conter métodos concretos. Além disso, trata a 4ª como verdadeira, mas a exigência de “dez métodos abstratos” é regra inexistente.
B
Errada
Está errada porque, embora acerte as três primeiras assertivas, considera verdadeira a 4ª. O erro específico é aceitar como requisito técnico uma quantidade mínima de métodos abstratos para validade da classe abstrata, o que não existe.
C
Certa
A alternativa C está correta porque corresponde à sequência V, V, V, F, que é a compatível com a distinção conceitual entre classe abstrata e classe concreta. A 1ª assertiva é verdadeira porque a classe abstrata funciona como base/modelo para subclasses e não admite instanciação direta. A 2ª é verdadeira porque a classe concreta é a apta à criação de objetos, o que pressupõe implementação do que é exigido na hierarquia para viabilizar a instanciação. A 3ª também é verdadeira, pois classe abstrata pode combinar métodos abstratos com métodos já implementados. A 4ª é falsa porque não existe regra geral de compilador exigindo quantidade mínima de métodos abstratos para que uma classe abstrata seja válida.
D
Errada
Está errada porque marca a 2ª assertiva como falsa, quando ela descreve corretamente a noção de classe concreta apta à instanciação por implementar o necessário na hierarquia. Também erra a 4ª ao tratá-la como verdadeira, apesar de não haver regra dos dez métodos abstratos.
Pegadinha da questão
A confusão explorada foi dupla: fazer o candidato pensar que classe abstrata só teria métodos abstratos e dar aparência técnica à falsa regra de compilador sobre número mínimo de métodos abstratos.
Dica para questões semelhantes
  • Se a classe pode ser instanciada, o critério relevante é ser concreta e ter a implementação necessária das exigências da hierarquia.
  • Se a assertiva diz que classe abstrata não pode gerar objetos diretamente, trate isso como propriedade correta do conceito.
  • Não aceite precisão numérica sobre requisito de classe abstrata sem base conceitual expressa; nesta matéria, não há número mínimo de métodos abstratos.
  • Classe abstrata pode concentrar estrutura comum com métodos implementados e também definir assinaturas abstratas para subclasses.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo