A minha duvida é em saber se esta correto fazer o seguinte, tenho um cadastro de cliente e neste cadastro tenho o endereco dele, endereco de entrega e endereço de cobrança, ai fiz o seguinte:
publicclassEndereco{privateStringendereco;privateStringnumero;privateStringbairro;/// aqui os gets e sets}
publicclassCliente{privateintcodigoID;privateintcodigo;privateStringcNome;privateEnderecoendereco;privateEnderecocobranca;privateEnderecoentrega;/// aqui os gets e sets}
Isso é correto, tem algum prejuízo em desempenho ?
Seria interessante se o cliente tivesse uma lista de endereço e na entidade endereço você classificar o tipo de endereço.
Cliente->ListEnderecoEndereco->TipoEndereco
K
kenew
Bom dia Weverton,
Pode dar mais detalhes ?
Uma outra coisa, esta entidade endereço eu uso para varias outras como fornecedor, funcionarios, representante, terceiros e etc.
Vlw
Jeanderson_Silva
Seguindo a ideia do @Weverton_Reis eu faria da seguinte forma:
publicclassEndereco{privateStringendereco;privateStringnumero;privateStringbairro;/************************************** Forma simples de diferenciar: * 0 = endereço normal * 1 = endereço de entrega * 2 = endereço de cobrança **************************************/privateinttipo_do_endereco;//gets e sets }
ai o cliente seria:
publicclassCliente{privateintcodigoID;privateintcodigo;privateStringcNome;/*Lista de endereco*/privateList<Endereco>enderecos;publicCliente(){this.enderecos=newArrayList<>();}publicList<Endereco>getEnderecos(){returnthis.enderecos;}//gets e sets dos demais}
ai no main principal faria algo desse tipo:
publicstaticvoidmain(String[]args){Clientecliente=newCliente();/*método que retorna o tipo do endereco*/inttipo_do_endereco=cliente.getEnderecos().get(0).getTipo_do_endereco();}
eu também faria isso só para deixar explícito:
publicclassEndereco{privateStringendereco;privateStringnumero;privateStringbairro;publicstaticfinalintNORMAL=0;publicstaticfinalintENTREGA=1;publicstaticfinalintCOBRANCA=2;privateinttipo_do_endereco;//gets e sets }
e poderia fazer algo assim:
publicstaticvoidmain(String[]args){Clientecliente=newCliente();/*método que retorna o tipo do endereco*/inttipo_do_endereco=cliente.getEnderecos().get(0).getTipo_do_endereco();if(tipo_do_endereco==Endereco.ENTREGA){//então é o endereço de entrega}}
K
kenew
Legal, entendi agora !
Vlw pela explicação
Herco
Boa noite, kenew!
A vantagem de usar essa forma abaixo, é o fato de criar objetos com cada tipo de endereço, que no caso são: endereço do cliente, endereco de entrega e endereço de cobrança.
/*Como Endereco é uma classe abstrato(abstract) não poderácriar objetos com ela, só comas outras classes que à estedempublic class abstract Endereco{private String endereco;*/publicclassabstractEndereco{Stringendereco;// Essa variávem conterá em todas as classes que estendê-laEndereco(Stringendereco){//Construtor para a classethis.endereco=endereco;}}