Herança ou instanciar classe? Ajuda pf

5 respostas
paulovc

Será que vocês poderiam dar aquela força em um problema no meu projetinho…

O projeto é para gerenciar uma loja de roupas, permitindo editar funcionários, produtos, efetuar vendas e gerar relatórios usando Banco de Dados. Tô usando o Access mesmo

Já fiz tudo isso! Digamos que “esteja” funcionando, mas o professor exige certas coisas…

[b]Diagrama de Classes
[prod]

  • verificarProduto();

[funcionarios]

  • pesquisa(String matricula);
  • comissão();

[venda]

  • CalcValorVenda(valordosprodutos[]: Double);

[itens_venda]

  • Grava_Vendas();[/b]

Tá tudo pronto, cadastra, edita, exclui e consulta dados do banco para todas as tabelas certinho. Mas vejam que na classe “itens_venda” ele pede um método que grave a venda da classe “venda”, nisso eu resolvi esse problema com herança usando o “extends venda”, conclusão meu projeto não foi aceito desta maneira.

O Professor me deu uma dica, dizendo para eu instanciar a classe venda na itens_venda onde gravaria a venda e mostraria todos as vendas efetuadas em uma caixa de lista (relatório de vendas).

Não faço idéia de como posso fazer isso, será que alguém poderia me ajudar nesta parte por favor?

Outra perguntinha, o método da classe “prod” é usado na classe “venda” e nisso não tô usando herança… eu devia usar? Como eu faria isto apenas herdando os métodos? Por enquanto, copiei e colei os métodos nas outras classes.

5 Respostas

paulovc

Por favor, ninguém sabe como puxar dados de outro formulário sem usar herança?

O Professor disse alguma coisa de instaciar a classe… Mas eu não aprendi isso, alguém poderia me ajudar?

romarcio

Se o seu problema é instanciar uma classe, se faz assim:

public class itens_venda { public void Grava_Vendas() { Venda venda = new Venda(); venda.//aqui vc tem acesso a todos os métodos de venda } }

Zeed01

Boa noite galera !

Acho que não entendi bem a sua duvida…
O que você quer dizer com formulário ? Seria o Frame ? Isso quer dizer que é uma aplicação desktop ?

Bom… de qualquer forma você deveria ter as suas classes DAO para fazer a persistencia, então, estando no frame de itens_venda, você instanciaria o seu VendaDAO como nosso outro colega disse e utilizaria o metoto desta classe para gravar…

Acho que é isso.

[]s

paulovc

Cheguei do trampo eu voei pra cá _ Valeu galera

romarcio:
Se o seu problema é instanciar uma classe, se faz assim:

public class itens_venda { public void Grava_Vendas() { Venda venda = new Venda(); venda.//aqui vc tem acesso a todos os métodos de venda } }

Deeeeeeeu certo! Muito obrigado, com isso agora consigo resolver todo meu problema e até arrumar umas gambi que fiz aqui ^^ Mto obrigado!!

Ele acessa apenas métodos? objetos não?
No caso eu poderia jogar numa varivável ou fazer um getCampo1(), por exemplo?

Zeed01:
Boa noite galera !

Acho que não entendi bem a sua duvida…
O que você quer dizer com formulário ? Seria o Frame ? Isso quer dizer que é uma aplicação desktop ?

Bom… de qualquer forma você deveria ter as suas classes DAO para fazer a persistencia, então, estando no frame de itens_venda, você instanciaria o seu VendaDAO como nosso outro colega disse e utilizaria o metoto desta classe para gravar…

Acho que é isso.

[]s

Com o Frame eu já consegui fazer, mas meu professor não permitiu isso!

Isso eu instanciei como ele disse e já deu certo aqui!! Valeu!!

paulovc

Na teoria ficou bunito, mas quando eu mando gravar no banco ele dá erro…

quando coloco esta linha Venda venda = new Venda();
ele abre outro formulário venda e tudo que foi digitado nas caixas de texto que eu queria pegar não funciona!!

então pensei em mandar abrir os dois formulários de vez, daí deixar oculto o formulário “itens_venda”…
Assim que o cara clicar em Cadastrar no formulário “vendas” ele teria que ocultar e abrir o “itens_venda”

Meu pensamento tá certo???

Tentei dar um itens_venda.setVisible(false); mas não deu certo, teria outra maneira? Aguardo. Obrigado!

—> Tenho dois formulários abertos, como oculto um enquanto o outro tá aberto?
não dá certo colocar “nomedoform.setVisible(false)” =S

Criado 29 de setembro de 2010
Ultima resposta 30 de set. de 2010
Respostas 5
Participantes 3