Você está na página 1de 2

CEFET–MG / CAMPUS LEOPOLDINA

CMA05 – LABORATÓRIO DE PROGRAMAÇÃO DE


COMPUTADORES II
Trabalho 1
DATA DE ENTREGA: 26/02/2021 VALOR: 25 pontos

1) Identifique as classes e implemente um programa para a seguinte especificação:


“Uma farmácia vende diferentes tipos de produtos, podendo estes serem medicamentos
ou não. Cada produto tem um preço e uma quantidade em estoque. Medicamentos
possuem uma bula. Um pedido de um cliente é composto de itens, onde cada item
especifica o produto que o cliente deseja e a respectiva quantidade. Esse pedido pode
ser pago em dinheiro, cheque ou cartão.”
Acrescente quaisquer atributos que você julgar necessário.

2) Crie uma classe abstrata chamada Conta, o construtor recebe um nome, um endereço,
um método abstrato chamado calcularTotal e os métodos get e set. Crie também as
classes ContaDeAgua e ContaDeLuz, ambas subclasses de Conta. O construtor das
subclasses devem receber um nome, um endereço e, além disso:

• O construtor da classe ContaDeLuz deve receber também a quantidade de


quilowatts consumida e o preço do quilowatt.

• O construtor da classe ContaDeAgua deve receber a quantidade de litros


consumidos e o preço/litro.

No método main, crie 5 instâncias de ContaDeLuz e 5 instâncias de ContaDeAgua em


um vetor do tipo Conta. Utilize um laço para percorrer os objetos do vetor e imprimir o
valor total de cada conta através do método calcularTotal().
3) Implemente as classes Voo e Passageiro.

• Cada voo possui no máximo 100 passageiros, e a classe permite controlar a


ocupação das vagas.
• Passageiro possui duas subclasses: PassageiroBusiness e PassageiroEconomy –
que fornecem diferentes tipos de serviços aos clientes da companhia aérea.
• A classe Voo deve ter os seguintes métodos:

construtor Configura os dados do voo (recebidos como parâmetro):


número do voo e data;
proximoLivre Retorna o número da próxima cadeira livre
verifica Verifica se o número da cadeira recebido como parâmetro está
ocupada
ocupa Ocupa determinada cadeira do voo, cujo número e passageiros
são recebidos como parâmetros, e retorna verdadeiro se a
cadeira ainda não estiver ocupada (operação bem sucedida) e
falso caso contrário.
vagas Retorna o número de cadeiras vagas disponíveis (não
ocupadas) no voo
getVoo Retorna o número do voo
getPassageiros Retorna todos os passageiros do voo
getPassageirosBusiness Retorna todos os passageiros da classe PassageiroBusiness

• A classe Passageiro (abstrata) deve ter os seguintes métodos:

construtor Configura os dados do passageiros (recebidos como


parâmetro): nome, cpf.
isBusiness Método abstrato que retorna verdadeiro para passageiros da
subclasse PassageiroBusiness e falso para passageiros da
subclasse PassageiroEconomy.

• Utilize um ArrayList para gerar a lista retornada pelos métodos getPassageiros e


getPassageirosBusiness.

• Instancie um objeto da classe Voo, adicione 5 passageiros do tipo


PassageiroBusiness e 10 passageiros do tipo PassageiroEconomy.

• No método main, imprima na tela a lista retornada por getPassageiros e


getPassageirosBusiness.

Você também pode gostar