Um dos conceitos em Orientação a Objetos é a classe abstrat...
Um dos conceitos em Orientação a Objetos é a classe abstrata. Assinale a alternativa que complete correta e respectivamente as lacunas da frase abaixo:
“A classe abstrata é sempre um(a) ______________ que não possui ______________"
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a C - superclasse - instâncias.
Vamos entender o conceito de classe abstrata na programação orientada a objetos (POO). Uma classe abstrata é um tipo de superclasse, que é usada principalmente como uma base para outras classes. Ela define um template com métodos e atributos que as subclasses devem implementar ou herdar. A característica principal de uma classe abstrata é que ela não pode ser instanciada diretamente, o que significa que você não pode criar um objeto a partir dela, mas sim das suas subclasses concretas.
As classes abstratas são muito úteis quando temos métodos que devem ser compartilhados entre várias classes, mas quando também temos métodos que precisam ser implementados de forma específica por cada subclasse. Elas agem como um contrato, onde as subclasses se comprometem a implementar os métodos abstratos definidos na classe abstrata.
Por que a alternativa C é correta? Uma superclasse é uma classe geral que pode ser estendida por outras classes, que são chamadas de subclasses. As classes abstratas são sempre superclasses porque elas são destinadas a serem estendidas e não a serem instanciadas diretamente, ou seja, elas não possuem instâncias próprias. Por esses motivos, a frase completa corretamente seria: "A classe abstrata é sempre um(a) superclasse que não possui instâncias."
Espero que essa explicação tenha ajudado a compreender melhor o conceito de classe abstrata e por que a alternativa C é a resposta correta para essa questão. Lembre-se, em POO, entender a relação entre classes, especialmente quando se trata de herança e a base abstrata, é fundamental para o design eficaz de 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
Uma classe abstrata é desenvolvida para representar entidades e conceitos abstratos. A classe abstrata é sempre uma superclasse que não possui instâncias. Ela define um modelo (template) para uma funcionalidade e fornece uma implementação incompleta - a parte genérica dessa funcionalidade - que é compartilhada por um grupo de classes derivadas. Cada uma das classes derivadas completa a funcionalidade da classe abstrata adicionando um comportamento específico.
https://pt.wikipedia.org/wiki/Classe_%28programa%C3%A7%C3%A3o%29
A meu ver essa questão deveria ser anulada, pois o item indicado como correto, no caso C, também esta errado. Uma classe abstrata pode herdar de uma outra classes abstrata. Neste caso, uma abstrata seria uma subclasse. Logo, a afirmação "A classe abstrata é sempre um(a) superclasse" está errada.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo