Considere a classe Java abaixo.Ela contém métodos que implem...
Próximas questões
Com base no mesmo assunto
Ano: 2023
Banca:
CESGRANRIO
Órgão:
AGERIO
Prova:
CESGRANRIO - 2023 - AGERIO - Analista de Desenvolvimento / Tecnologia da Informação |
Q2174843
Programação
Considere a classe Java abaixo.
Ela 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?
Ela 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?