Olá Pessoal.
Devido a minha falta de prática com o assunto eu ainda estou com dificuldade para implementar as minhas classes, vou explicar a parte do meu projeto para que alguém me ajude.
Eu tenho umas classes chamadas Fornecedor, Produto, ItemDaNota e NotaFiscal. Preciso implementar da seguinte forma, a classe “Produtos” terá que cadastrar os mesmos antes de mais nada, a classe “Fornecedor” também deve gerar seu cadastro, ao iniciar uma entrada pela classe “NotaFiscal” ela vai necessitar das informações do OBJETO FORNECEDOR e usar a classe “ItemDaNota” que vai necessitar dos OBJETOS PRODUTO para compor os itens da nota, só que a classe “ItemDaNota” deve ter um cálculo simples de qtd * valor unit para gerar um valor total por item e logo na classe “NotaFical” terá um métodos para somar todos esses totais por item para compor o total da nota… O meu problema é que não consigo fazer isso por questão de ter pouca prática e me atrapalha muito na hora de pensar no desenvolvimento e imaginar a tela do programa ou a tabela do banco de dados.
Parece ser muito simples tudo isso para quem já conhece do assunto, mas para quem nunca fez, como meu caso, fica uma missão quase impossível.
Por favor me ajudem parceiros… 
Segue as classes abaixo para quem puder ajudar.
Fornecedor
package lojaSGLC;
public class Fornecedor extends Pessoa {
private Integer idFornecedor;
private Integer cnpj;
public Integer getIdFornecedor() {
return idFornecedor;
}
public void setIdFornecedor(Integer idFornecedor) {
this.idFornecedor = idFornecedor;
}
public void setCnpj(Integer cnpj) {
}
public Integer getCnpj() {
return cnpj;
}
}
Produto
package lojaSGLC;
import java.util.ArrayList;
public class Produto implements Persistivel {
private Integer idProduto;
private String nome;
private String descricao;
private Integer quantidade;
private ArrayList cor;
private Float valorCustoMedio;
private Float valorUltimaEntrada;
private ItemDaNota[] itemDaNota;
private ItemOrdemProducao[] itemOrdemProducao;
public void custoMedio() {
}
public void setIdProduto(Integer idProduto) {
}
public Integer getIdProduto() {
return null;
}
public void setNome(String nome) {
}
public String getNome() {
return null;
}
public void setDescricao(String descricao) {
}
public String getDescricao() {
return null;
}
public void setQuantidade(Integer quantidade) {
}
public Integer getQuantidade() {
return null;
}
public void setCor(ArrayList cor) {
}
public ArrayList getCor() {
return null;
}
public void setValorCustoMedio(Float valorCustoMedio) {
}
public Float getValorCustoMedio() {
return null;
}
public void setValorUltimaEntrada(Float valorUltimaEntrada) {
}
public Float getValorUltimaEntrada() {
return null;
}
/**
*@see lojaSGLC.Persistivel#incluir()
*/
public void incluir() {
}
/**
*@see lojaSGLC.Persistivel#alterar()
*/
public void alterar() {
}
/**
*@see lojaSGLC.Persistivel#excluir()
*/
public void excluir() {
}
/**
*@see lojaSGLC.Persistivel#cosultar()
*/
public void cosultar() {
}
/**
*@see lojaSGLC.Persistivel#calculoValorDoItem()
*/
public void calculoValorDoItem() {
}
}
ItemDaNota
package lojaSGLC;
public class ItemDaNota {
private Integer numItem;
private Integer quantidade;
private Float precoUnitario;
// private NotaFiscal notaFiscal;
private Produto produto;
private Float valorTotalDoItem;
public Integer getNumItem() {
return numItem;
}
public void setNumItem(Integer numItem) {
this.numItem = numItem;
}
public Integer getQuantidade() {
return quantidade;
}
public void setQuantidade(Integer quantidade) {
this.quantidade = quantidade;
}
public Float getPrecoUnitario() {
return precoUnitario;
}
public void setPrecoUnitario(Float precoUnitario) {
this.precoUnitario = precoUnitario;
}
public Float getValorTotalDoItem() {
return precoUnitario * quantidade;
}
public void setValorTotalDoItem(Float valorTotalDoItem) {
this.valorTotalDoItem = valorTotalDoItem;
}
//// public NotaFiscal getNotaFiscal() {
// return notaFiscal;
// }
//
// public void setNotaFiscal(NotaFiscal notaFiscal) {
// this.notaFiscal = notaFiscal;
// }
public Produto getProduto() {
return produto;
}
public void setProduto(Produto produto) {
this.produto = produto;
}
}
NotaFiscal
package lojaSGLC;
import java.util.Date;
import java.util.List;
public class NotaFiscal implements Persistivel {
private Integer idNotaFiscal;
private Date data;
private Float valorTotal;
private Fornecedor fornecedor;
private List<ItemDaNota> itensDaNota;
public Integer getIdNotaFiscal() {
return idNotaFiscal;
}
/**
* Este metodo inclui o item da nota na lista de itens (
* <code>itensDaNota</code>) e recalcula o valor total da nota. Atribui um
* número de item ao item incluido (sequencial).
*
*
* @param item
*/
public void addItem(ItemDaNota item) {
}
public void setIdNotaFiscal(Integer idNotaFiscal) {
this.idNotaFiscal = idNotaFiscal;
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
public Float getValorTotal() {
return valorTotal;
}
public void setValorTotal(Float valorTotal) {
this.valorTotal = valorTotal;
}
public Fornecedor getFornecedor() {
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
public List<ItemDaNota> getItensDaNota() {
return itensDaNota;
}
public void setItensDaNota(List<ItemDaNota> itensDaNota) {
this.itensDaNota = itensDaNota;
}
/**
*@see lojaSGLC.Persistivel#incluir()
*/
public void incluir() {
}
/**
*@see lojaSGLC.Persistivel#alterar()
*/
public void alterar() {
}
/**
*@see lojaSGLC.Persistivel#excluir()
*/
public void excluir() {
}
/**
*@see lojaSGLC.Persistivel#cosultar()
*/
public void cosultar() {
}
/**
*@see lojaSGLC.Persistivel#calculoValorDoItem()
*/
public void calculoValorDoItem() {
}
}
Um abraço.
NobregaDavi