Imagem de fundo

Considere que um sistema projetado para gerenciar...

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.