GABARITA Entrar

CESGRANRIO · 2023 · Agência Estadual de Fomento do Estado do Rio de Janeiro · Analista de Desenvolvimento

Questão 29 – Tecnologia da Informação – CESGRANRIO 2023 – Agência Estadual de Fomento do Estado do Rio de Janeiro (Analista de Desenvolvimento)

Considere a classe Java abaixo.

public abstract class VendaIngresso {

public void encerraVenda(String espetaculo, String assento) { double valor = calculaValorIngresso();

confirmaPagamento(valor);

imprimeIngresso();

}

protected void imprimeIngresso() { // implementação irrelevante para resolver a questão }

protected void confirmaPagamento(double valor) { // implementação irrelevante para resolver a questão }

protected abstract double calculaValorIngresso(); }

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?

Alternativas

Comentários

Ainda não há comentários publicados.

Entre para comentar

Atalhos de teclado
  • A–E ou 1–5 selecionam a alternativa.
  • C ou E marcam Certo ou Errado.
  • Enter responde.
  • Seta para a direita ou esquerda abre a próxima ou a anterior.
  • X elimina a alternativa em foco.
Reportar problema

Treine com histórico e revisão

No app, seus erros voltam para revisão e você acompanha o desempenho por disciplina.

Abrir o app