Pacote: unicamp.lista2.estoque.produtos Produto: Atributos: - codigo int - nome String - preco float - desconto_promocao float - inicio_promocao Date - fim_promocao Date Metodos: - construtor(codigo,nome,preço) - pegaNome() - pegaPreco() - aumentar(valor) // preco + valor - diminuir(valor) // preco - valor - mudarPreco(preco) - colocaPromocao(desconto, data_inicio, data_fim) - retiraPromocao() ProdutoComposto: //Pergunta1: ProdutoComposto deve ter desconto ou só os ProdutosSimples que ele contém? Vamos implementar que ele também tem Atributos: - codigo int - nome String - produtos ArrayList (chave=produto, valor=número) // - desconto_promocao float // - inicio_promocao Date // - fim_promocao Date Metodos: - construtor(codigo,nome,produtos) - pegaNome() - pegaPreco() // - colocaPromocao(desconto, data_inicio, data_fim) // - retiraPromocao() - adicionaProduto(produto, quantidade) - retiraProduto(produto, quantidade) - quantidadeProduto(produto) - mudarQuantidadeProduto(produto, quantidade) - produtos() Pacote unicamp.lista2.estoque.servicos Servico: Atributos: - descricao String - preco float Metodos: - construtor(descricao, preco) - pegaDescricao() - aumentar(valor) // preco + valor - diminuir(valor) // preco - valor - mudarPreco(preco) Pacote unicamp.lista2.estoque.cadastro Cadastro: Atributos: - produtos Metodos: - inserir(objeto) - eliminar(objeto) - listar()