Pular para o conteúdo principal

Questão de Programação — Java — CESGRANRIO 2023

ProgramaçãoJava
Código
cg017946
Banca
CESGRANRIO
Órgão
AGERIO
Ano
2023
Nível
Superior
Cargo
Analista de Desenvolvimento / Tecnologia da Informação
Considere a classe Java abaixo.Imagem associada para resolução da questãoEla contém métodos que implementam o processo de venda de ingressos para espetáculos culturais. Entre eles está o método de encerramento de uma venda, que é composto de três etapas. São elas:• o cálculo do valor do ingresso;• a confirmação do pagamento;• a impressão do ingresso.As duas últimas etapas independem da natureza de quem está comprando um ingresso, por isso foram implementadas diretamente na classe VendaIngresso. A 1ª etapa, entretanto, não pôde ser implementada nessa classe, pois o valor de um ingresso pode variar de acordo com o tipo de comprador (estudante, idoso, pessoa com deficiência, dentre outros). Por isso, o método calculaValorIngresso é abstrato.Uma 2ª classe, que implementa a venda de ingressos para estudantes, é mostrada a seguir.public class VendaIngressoEstudante extends VendaIngresso {protected double calculaValorIngresso() {// implementação irrelevante para resolver a questão}}Ela é uma subclasse de VendaIngresso que implementa o cálculo do valor de um ingresso de estudante. Dessa forma, um programa Java que implemente a venda de ingressos para estudantes, baseada nas classes acima, irá conter os seguintes comandos:VendaIngresso v = new VendaIngressoEstudante();v.encerraVenda("Máquina Mortífera 20", "L8");Qual padrão de projeto foi empregado na solução descrita acima?
  1. APrototype
  2. BAdapter
  3. CComposite
  4. DMediator
  5. ETemplate Method
Revelar gabarito e comentário

GabaritoE — Template Method

Link permanente: /questoes/cg017946