bom pessoal, o exercício é esse.
considere um supermercado automatizado que controle carrinhos de compras e utilize as classes
Produto, CarrinhoCompra, Item, ItemDesconto, Cliente e Automóvel e a interface TransporteCarga
.
Implemente os seguintes itens:a) A classe Produto que tem os atributos identificador, descrio, quantidade em estoque e o preço unitário.
b)O construtor padrão e o que recebe quatro valores como parâmetro da classe Produto
c)A classe Item com os atributos produto e a quantidade deste produto no carrinho, seuconstrutor com 2 parâmetros e o método calculaPreco que devolve a multiplicação do preçounitário e da quantidade de itens.
d)A classe ItemDesconto que herda da classe Item, possui um atributonque corresponde apromoções do tipo LEVE n e PAGUE n-1 e redefine o método calculaPreco para considerar este tipo de desconto.
e)A interface TransporteCarga que possui dois métodos carregar e descarregar. O métodocarregar recebe como parâmetro um item e o armazena e o método descarregar imprime na tela os produtos que foram descarregados e os remove do armazenamento.
f)A classe CarrinhoCompra que possui os atributos quantidade de itens no carrinho de compras e
os itens propriamente ditos, assim como o construtor padrão. Considere que os itens estão
armazenados em um array com capacidade para 200 itens no máximo.
g)Os métodos adicionar e remover da classe CarrinhoCompras. Estes métodos recebem comoparâmetro
o produto e a quantidade de itens a serem inseridos/removidos. Estes métodos devem
atualizar a quantidade de produtos do estoque, pois a medida que o cliente coloca os produtos no
carrinho, eles jánão estão mais disponíveis para compra por outro cliente. Se o cliente mandar
remover mais unidades do que tem no carrinho, realize a remoção da quantidade disponível no
carrinho de compras e aumente esta mesma quantidade no estoque. Um produto não pode ocupar mais de uma posição, assim como um produto com quantidade zerada não pode ocupar uma posição no no array privado da classe CarrinhoCompras
h)O método transfere da classe CarrinhoCompras que retira todos os itens deste carrinho decompras e carrega um TransporteCarga recebebido como parâmetro.
i)A classe Cliente implementa a interface TransporteCarga e possui os atributos: nome, cpf,endereço, automóvel, carrinho de compras, os atributos necessários para implementação doTransporteCarga e o construtor que recebe como parâmetro o nome e o cpf , o endereço do clientee o seu carro (se o cliente não tiver carro, este último parâmetro será nulo).Implemente classe automóvel que também é do tipo TransporteCarga.
j)O método abandonar carrinho em que o cliente irá se desfazer do carrinho, este método executao abandonar da classe CarrinhoCompras. Implemente também o abandonar da classeCarrinhoCompras, para que todos os produtos voltem automaticamente para o estoque
k)O método pegar um carrinho que recebe como parâmetro um carrinho que ele usarápararealizar as suas compras. Caso ele
já tenha um carrinho, o mesmo será abandonado.
l)O método calcular preço da classe CarrinhoCompras que imprime na tela o cupom fiscal e devolve o valor total da compra
m)O método comprar que não recebe parâmetro, mostra uma mensagem “Entregando R$ xx,xxpara o caixa”, e transfere todos os itens do carrinho de compras para o seu transporte de carga (o seu automóvel ou ele próprio, caso não tenha automóvel). Este método deve chamar o métodotransfere de CarrinhoCompra
eu simplesmente não entendi como fazer os itens i, j e k desse problema, alguém poderia me da alguma sugestão?