Ao analisar um modelo conceitual de um SGBD orientado a obj...

Próximas questões
Com base no mesmo assunto
Q942142 Banco de Dados

Ao analisar um modelo conceitual de um SGBD orientado a objetos, observou-se a ocorrência de uma classe abstrata.

Em termos práticos, isso significa que:

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - as instâncias dessa classe pertencem a subclasses.

Para compreender a alternativa correta, é importante entender o que é uma classe abstrata no contexto de um Sistema de Gerenciamento de Banco de Dados (SGBD) orientado a objetos. Uma classe abstrata é um conceito fundamental da programação orientada a objetos e, por extensão, dos SGBDs que adotam essa abordagem.

Uma classe abstrata é uma classe que não pode ser instanciada diretamente. Isso significa que você não pode criar objetos diretamente a partir dela. Em vez disso, ela serve como um modelo ou template para outras classes, conhecidas como subclasses, que herdam suas características e comportamentos. As subclasses podem ter suas próprias características e comportamentos específicos, além daqueles herdados da classe abstrata.

O fato de uma classe ser abstrata também implica que ela pode conter métodos abstratos, que são métodos declarados mas não implementados na classe abstrata, deixando a implementação obrigatória para as subclasses.

Portanto, a alternativa correta está fundamentada na compreensão de que uma classe abstrata serve de base para a criação de subclasses, e são essas subclasses que podem ser instanciadas, ou seja, podem ter objetos criados a partir delas. As instâncias criadas dessas subclasses herdam as propriedades e comportamentos definidos na classe abstrata, mas com a possibilidade de implementar ou estender os métodos abstratos da mesma.

As demais alternativas não descrevem corretamente o papel de uma classe abstrata:

  • Alternativa B sugere que a classe abstrata não possui atributos, o que não é verdade, pois ela pode ter atributos e métodos.
  • Alternativa C fala sobre agregação, que é um tipo de relação entre objetos, mas não define o que uma classe abstrata é.
  • Alternativa D menciona que a classe representa uma associação, o que poderia ser verdade para uma classe de associação em um modelo de classes, mas não captura a essência de uma classe abstrata.
  • Alternativa E descreve a classe como temporária, o que não se aplica às classes abstratas, pois elas fazem parte do modelo conceitual e não são temporárias.

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

O que eu encontrei de melhor sobre esse assunto:

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. Uma classe abstrata normalmente possui métodos abstratos. Esses métodos são implementados nas suas classes derivadas concretas com o objetivo de definir o comportamento específico. O método abstrato define apenas a assinatura do método e, portanto, não contém código. Por outro lado, as classes concretas implementam todos os seus métodos e permitem a criação de instâncias. Uma classe concreta não possui métodos abstratos e, geralmente, quando utilizadas neste contexto, são classes derivadas de uma classe abstrata.

Clique para visualizar este comentário

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