Considerando o paradigma da Orientação a Objetos, assinale ...

Próximas questões
Com base no mesmo assunto
Q1277239 Programação
Considerando o paradigma da Orientação a Objetos, assinale a opção que completa corretamente a frase abaixo.
Quando há necessidade de uma classe para implementar recursos comuns a duas ou mais classes utiliza-se:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D - Classe abstrata.

Vamos explorar o conceito por trás da alternativa correta. Em Programação Orientada a Objetos (POO), uma classe abstrata é uma classe que não pode ser instanciada diretamente, isto é, você não pode criar um objeto dela. Ao invés disso, ela é projetada para ser uma base para outras classes. O propósito de uma classe abstrata é fornecer uma definição comum de uma base de classe que várias outras classes podem compartilhar.

Por exemplo, considere que temos uma classe abstrata chamada Veículo que possui alguns métodos abstratos como ligar e desligar. Não faz sentido criar um objeto do tipo Veículo porque ele é muito genérico. Ao invés disso, podemos ter classes mais específicas como Carro e Motocicleta que herdam de Veículo e implementam esses métodos abstratos de formas que fazem sentido para seus contextos específicos.

Quando falamos em implementar recursos comuns a duas ou mais classes, estamos buscando uma forma de compartilhar código e comportamento de forma eficiente, evitando repetição e promovendo a reutilização de código. A classe abstrata serve exatamente para isso: definir uma estrutura que será compartilhada por outras classes.

Portanto, a alternativa correta é a D porque as classes abstratas são um mecanismo na POO que nos permite criar um tipo de "modelo" ou "esqueleto" para outras classes seguirem, implementando os métodos abstratos de acordo com suas necessidades específicas.

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

Acho que a resposta é Interface

Na verdade, uma Classe Abstrata sem qualquer implementação, tem o aspect parecido com uma Interface. Mas ambas possuem várias diferenças e similaridades entre si.

Classes Abstratas:

·As classes abstratas devem conter pelo menos um método abstrato, que não tem corpo.

·É um tipo especial de classe que não há como criar instâncias dela.

·É usada apenas para ser herdada, funciona como uma super classe.

·Uma grande vantagem é que força a hierarquia para todas as sub-classes.

·É um tipo de contrato que faz com que as sub-classes contemplem as mesmas hierarquias e/ou padrões.

Fonte:https://www.devmedia.com.br/interfaces-x-classes-abstratas/13337

Caberia classe abstrata ou classe concreta.

Interface teoricamente não tem implementação, além de não ser uma classe.

d-

Abstract classes are similar to interfaces. You cannot instantiate them, and they may contain a mix of methods declared with or without an implementation. However, with abstract classes, you can declare fields that are not static and final, and define public, protected, and private concrete methods.

Consider using abstract classes if any of these statements apply to your situation:

   You want to share code among several closely related classes.

   You expect that classes that extend your abstract class have many common methods or fields, or require access modifiers other than public (such as protected and private).

   You want to declare non-static or non-final fields. This enables you to define methods that can access and modify the state of the object to which they belong.

https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html

Clique para visualizar este comentário

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