Questão de Programação — Linguagens de programação — CESGRANRIO 2024
ProgramaçãoLinguagens de programação
- Código
- cg021317
- Banca
- CESGRANRIO
- Órgão
- Banco da Amazônia
- Ano
- 2024
- Nível
- Superior
- Cargo
- Técnico Científico - Tecnologia da Informação
Considere um sistema bancário em Java que possui a classe Cliente e suas subclasses, ClientePessoaFisica e ClientePessoaJuridica, onde Cliente é uma classe abstrata. Nesse sistema, um método getDesconto(valor) deve fornecer o cálculo do desconto para um tipo de cliente, de forma que os clientes do tipo pessoa física e os clientes do tipo pessoa jurídica tenham descontos diferenciados. Suponha que, utilizando corretamente os mecanismos associados à herança e ao polimorfismo, se deseje implementar essas classes de modo que o método getDesconto possa ser aplicado indistintamente a qualquer instância que tenha sido declarada como da classe Cliente.Para atender a essa condição, a implementação dessas classes deve possuir o método getDesconto
- Aapenas na classe Cliente, identificando a qual subclasse o cliente pertence e calculando o desconto por meio de uma estrutura se-então dentro da implementação.
- Bapenas nas classes ClientePessoaFisica e ClientePessoaJuridica, pois não há instâncias da classe Cliente no sistema, já que é uma classe abstrata.
- Cem todas as três classes, sendo possível, nesse caso, que a função getDesconto da classe Cliente seja abstrata.
- Dfora das três classes, dado que uma estrutura do tipo se-então deve ser usada para descobrir qual é a classe adequada.
- Eimplementada totalmente em todas as classes, sendo que a função getDesconto da classe Cliente chama a função getDesconto das classes ClientePessoaFisica e ClientePessoaJuridica de acordo com a necessidade.