Imagem de fundo

Considere que um sistema projetado para gerenciar diferentes tipos de contas bancárias ...

Considere que um sistema projetado para gerenciar diferentes tipos de contas bancárias foi desenvolvido considerando os princípios da programação orientada a objeto, e considerando as características a seguir:


▪ Uma classe abstrata Conta, que declara o método calcularTarifa(), sem implementação.

▪ Uma classe ContaCorrente, que herda de Conta e sobrescreve calcularTarifa().

▪ Uma classe ContaPoupanca, que herda de Conta e não sobrescreve calcularTarifa().

▪ Uma interface Tributavel, que declara o método calcularImposto().

▪ A classe ContaCorrente implementa a interface Tributavel.

▪ O sistema utiliza polimorfismo para manipular objetos do tipo Conta por meio de referências da superclasse.


Com base nos princípios da orientação a objetos, marque a alternativa CORRETA.


A

O sistema está corretamente modelado, pois uma classe concreta pode herdar métodos abstratos sem implementá-los, desde que esses métodos não sejam utilizados em tempo de execução.


B

A classe ContaPoupanca viola o princípio do polimorfismo, pois não implementa o método abstrato da superclasse, o que caracteriza erro de lógica, mas não de modelagem, conforme o paradigma da orientação a objetos.


C

A modelagem apresenta inconsistências conceituais, pois uma classe concreta, que herda de uma classe abstrata, deve implementar todos os métodos abstratos, e a implementação de uma interface estabelece um contrato obrigatório.


D

O uso de uma referência do tipo Conta para apontar para objetos de ContaCorrente elimina a necessidade de sobrescrita de métodos, uma vez que a vinculação ocorre em tempo de compilação, no instante em que é executado.


E

A implementação da interface Tributavel pela classe ContaCorrente impede que objetos dessa classe sejam tratados polimorficamente como instâncias de Conta, o que garante um nível primário de encapsulamento do código.