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 ???
Duvida basica
4 Respostas
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.
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
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.
Procure por MVC.