Uma classe abstrata é desenvolvida para representar classes e conceitos abstratos. A classe abstrata é sempre uma superclasse que não permite que nenhum objeto seja criado a partir dela, ou seja, não pode ser instanciada. O uso das classes abstratas é dirigido para a construção de classes que constituirão um modelo, isto é, classes abstratas servirão como especificações básicas de novas classes, que serão implementadas por meio do mecanismo de herança. Assim, uma classe abstrata deve ser estendida, ou seja, deve ser a classe-base de outra, mais específica, que contenha os detalhes que não puderam ser incluídos na superclasse (abstrata). OLIVEIRA JUNIOR, Edson A. NOEL, André Abdala. Programação I. Maringá: Unicesumar, 2018. Assinale a alternativa correta que representa o conceito de classes abstratas. Alternativas Alternativa 1: As classes abstratas obrigatoriamente devem conter os atributos com modificadores de aceso package (default).
Alternativa 2: As classes abstratas servem de modelo para outras classes, assim para herdar uma classe abstrata deve utilizar a palavra-chave implements.
Alternativa 3: Classes abstratas não possuem a palavra-chave abstract na definição da classe e seu único uso é para definir tipos a outros objetos.
Alternativa 4: Classes abstratas podem conter métodos abstratos e podem conter métodos criados com regras de negócio que serão herdadas pelas subclasses.
Alternativa 5: Classes abstratas somente podem ter métodos abstratos que deverão ser implementados pelas subclasses herdadas.
Classes abstratas podem conter métodos abstratos e podem conter métodos criados com regras de negócio que serão herdadas pelas subclasses.
Explicação:
Por eliminatória eu fico com alternativa 4, mas acho que será uma questão anulada visto que as subclasses herdam apenas os métodos declarados como abstratos e na alternativa dá a entender que herda, também, os métodos criados com regras de negócio.
O que vocês acham??
3 votes Thanks 7
migueljovani92
Também fiquei com a mesma dúvida porém, as regras de negócio podem ser definidas na superclasse.( Ex: se eu tiver a superclasse "pessoa" posso definir as regras de negócio que preciso para criar subclasses ( nome, telefone, CPF) dependendo do segmento do produto.
Lista de comentários
Resposta:
Alternativa 4:
Classes abstratas podem conter métodos abstratos e podem conter métodos criados com regras de negócio que serão herdadas pelas subclasses.
Explicação:
Por eliminatória eu fico com alternativa 4, mas acho que será uma questão anulada visto que as subclasses herdam apenas os métodos declarados como abstratos e na alternativa dá a entender que herda, também, os métodos criados com regras de negócio.
O que vocês acham??