Gabarito: c)
Em programação orientada a objetos, classes abstratas são aquelas que podem conter tanto métodos implementados quanto métodos abstratos, ou seja, métodos que possuem apenas a assinatura, sem implementação. Isso permite que subclasses herdem comportamentos comuns e também sejam obrigadas a implementar os métodos abstratos.
A alternativa a) está incorreta porque classes abstratas podem possuir construtores, mas não podem ser instanciadas diretamente. Elas servem como base para outras classes.
A alternativa b) está incorreta porque interfaces não possuem construtores e não podem ser instanciadas diretamente. Interfaces definem contratos que as classes implementam.
A alternativa d) está incorreta porque interfaces podem possuir constantes (variáveis estáticas finais), mas não podem ter variáveis de instância ou atributos privados, pois são contratos abstratos.
A alternativa e) está incorreta porque superclasses podem possuir métodos abstratos e não podem ser instanciadas diretamente se forem abstratas, mas a alternativa mistura conceitos e não é precisa na definição.
Portanto, a alternativa c) é a correta, pois descreve corretamente as características das classes abstratas em orientação a objetos.
Em programação orientada a objetos, classes abstratas são aquelas que podem conter tanto métodos implementados quanto métodos abstratos, ou seja, métodos que possuem apenas a assinatura, sem implementação. Isso permite que subclasses herdem comportamentos comuns e também sejam obrigadas a implementar os métodos abstratos.
A alternativa a) está incorreta porque classes abstratas podem possuir construtores, mas não podem ser instanciadas diretamente. Elas servem como base para outras classes.
A alternativa b) está incorreta porque interfaces não possuem construtores e não podem ser instanciadas diretamente. Interfaces definem contratos que as classes implementam.
A alternativa d) está incorreta porque interfaces podem possuir constantes (variáveis estáticas finais), mas não podem ter variáveis de instância ou atributos privados, pois são contratos abstratos.
A alternativa e) está incorreta porque superclasses podem possuir métodos abstratos e não podem ser instanciadas diretamente se forem abstratas, mas a alternativa mistura conceitos e não é precisa na definição.
Portanto, a alternativa c) é a correta, pois descreve corretamente as características das classes abstratas em orientação a objetos.