Duvida basica

4 respostas
F

eu tenho uma classe VENDA ligada a uma NOTA_FISCAL, e tenho uma classe DEVOLUCAO ligada a NOTA_FISCAL, mas eu preciso saber dados da venda pra fazer a devolucao, eu tenho que ligar ela com a VENDA, ou nao pq a NOTA_FISCAL ja ta ligada com ela e recebe os atributos de venda ???

4 Respostas

R

Isso é uma questão de orientação a objetos. Existem várias respostas possíveis, sugiro dar uma olhada por ae em orientação a objeto.
Desculpe não ter uns links no momento pra te indicar.

E

Na seção de downloads tem diversas apostilas sobre conceitos de orientação objetos…espero que ajude.

http://www.portaljava.com.br/home/modules.php?name=Content&pa=list_pages_categories&cid=18

Este da Unicamp também é interessante…

http://www.rau-tu.unicamp.br/uml/

at+

Emerson

R

Quais são os atributos de cada classe? Facilitaria a resposta.

Existe um padrão, chamado Expert, que diz que só quem é dona da informação que pode acessar diretamente a informação. Isso significa, que se você quer saber dos dados de VENDA em DEVOLUCAO, você teria que chamar um método de NOTA_FISCAL (referencie na sua classe DEVOLUCAO apenas os métodos de NOTA_FISCAL, pois existe um relacionamento entre elas), que por sua vez, chamaria algum método da classe VENDA que lhe retornaria os dados pedidos, e o método de NOTA_FISCAL repassaria esses dados a DEVOLUCAO.

Nunca faça em DEVOLUCAO isso:

objetoDevolucao.getNotaFiscal().[color=“red”][/color]getVenda();

Isso faria com que você referenciasse diretamente a classe VENDA dentro da classe DEVEOLUCAO, o que diminuiria a reutilização desta classe em próximos sistemas (pois a classe DEVOLUCAO não é a expert da informação, além de não ter um relacionamento direto com a classe VENDA).

Se você criar o relaciamento citado (VENDA-DEVOLUCAO), o código:

objetoDevolucao.getVenda();

seria válido, pois existe um relacionamento direto dos dois que a semântica da sua aplicação exigiu.

O caso é decidir se esse relacionamento existe ou não na análise do seu problema.

Abraços.

D

Procure por MVC.

Criado 23 de março de 2005
Ultima resposta 24 de mar. de 2005
Respostas 4
Participantes 5