Pular para o conteúdo principal

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
  1. 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.
  2. Bapenas nas classes ClientePessoaFisica e ClientePessoaJuridica, pois não há instâncias da classe Cliente no sistema, já que é uma classe abstrata.
  3. Cem todas as três classes, sendo possível, nesse caso, que a função getDesconto da classe Cliente seja abstrata.
  4. Dfora das três classes, dado que uma estrutura do tipo se-então deve ser usada para descobrir qual é a classe adequada.
  5. 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.
Revelar gabarito e comentário

GabaritoC — em todas as três classes, sendo possível, nesse caso, que a função getDesconto da classe Cliente seja abstrata.

Link permanente: /questoes/cg021317