O que define um método abstrato em uma classe abstrata na Programação Orientada a Objetos?

Questão

O que define um método abstrato em uma classe abstrata na Programação Orientada a Objetos?

Alternativas

a) Um método que tem uma implementação padrão que pode ser sobrescrita por subclasses.

b) Um método que não pode ser usado em classes abstratas, apenas em interfaces.

c) Um método sem implementação, obrigando as subclasses a fornecerem uma implementação específica.

98%

d) Um método sem implementação, que obriga as superclasses a fornecerem uma implementação específica.

e) Um método especial que possui implementação e que obriga as classes filhas a sobrescreverem o comportamento do método.

Explicação

  1. Em Programação Orientada a Objetos, uma classe abstrata pode conter métodos concretos (com implementação) e métodos abstratos.
  2. Método abstrato é aquele declarado sem corpo/implementação (dependendo da linguagem, com uma palavra-chave como abstract), servindo como um “contrato” dentro da herança.
  3. A consequência é que as subclasses concretas (não abstratas) que herdam esse método devem obrigatoriamente fornecer uma implementação; caso contrário, elas também precisam ser abstratas.
  4. Analisando as alternativas:
  • (a) descreve um método com implementação padrão (método concreto/virtual), não necessariamente abstrato.
  • (b) é falsa: métodos abstratos podem existir em classes abstratas.
  • (c) corresponde exatamente à definição correta.
  • (d) está invertida: quem implementa são as subclasses, não as superclasses.
  • (e) fala em “possui implementação” e “obriga sobrescrever”; isso não define método abstrato.

Alternativa correta: (c).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.