[Resolvido]Implementação

5 respostas
devvdevv.interior

Galera é o seguinte, tenho uma duvida quanto a implementação de classes...
tenho uma classe internação, ela está associada em N pra N com a classe Leito, no entanto gera-se uma outra classe historico..
como devo fazer a ligação na classe "historico" recebendo as referencias?

public class Internacao {
  private int codigo;
  private Date dataIntercao;
  private Date dataAlta;
  private String ocorrencia;
  private String observacoes;
  private String destinoAlta;

  //aqui get and setters

   @ManyToOne 
   private Pacientes paciente;

   
    }

agora a classe leito

public class Leito {
  private String id;
  private String Status;

//get and setters
}

classe historico :?:

5 Respostas

Mephy

Acho que não entendi muito bem, tá com dúvida em montar a classe ou na análise do DB?
Nunca compensa começar a programação sem ter um objetivo claro anteriormente estabelecido, isso gera confusão e horas a mais pensando em como arrumar, o que às vezes cai na gambiarra .-.

devvdevv.interior

estou com duvida na CLASSE… e não na db
a duvida esta clara na terceira linha e ultima…
se fosse db eu diria tb ou algo do genero :?

Mephy

Eu li muito bem que você perguntou da classe, e por isso falei da confusão

Acontece que não temos especificado aqui o objeto da classe Historico.
Levando em conta um caso genérico e tentando “adivinhar” o que é o necessário aqui, o Historico deve conter as informações de que internação estamos falando, a data da mudança e o leito de destino. Quando o paciente dá entrada na internação, um registro no histórico recebe essa internação com a mesma data, e o leito inicial. Caso o paciente mude de leito durante a internação, o histórico receberá a data dessa mudança, o novo leito que o paciente foi e claro, a internação correspondente.

Isso é genérico claro, passa pelo processo de análise e tudo mais, mas tanto querendo assim a classe, não vou discutir:

public class Historico{
   private Internacao internacao;
   private Leito leitoUtilizado;
   private Date dataMudanca;

   // get, set, constructor, workers and whatever
}

O negócio seriam o(s) construtor(es) e os getters/setters fazerem as devidas referências a um objeto válido, o que gera os workers de validação e tudo mais.
Como disse, repito, não entendi muito bem a sua dúvida, o que pude fazer foi isso.

devvdevv.interior

Mephy:
Eu li muito bem que você perguntou da classe, e por isso falei da confusão

Acontece que não temos especificado aqui o objeto da classe Historico.
Levando em conta um caso genérico e tentando “adivinhar” o que é o necessário aqui, o Historico deve conter as informações de que internação estamos falando, a data da mudança e o leito de destino. Quando o paciente dá entrada na internação, um registro no histórico recebe essa internação com a mesma data, e o leito inicial. Caso o paciente mude de leito durante a internação, o histórico receberá a data dessa mudança, o novo leito que o paciente foi e claro, a internação correspondente.

Isso é genérico claro, passa pelo processo de análise e tudo mais, mas tanto querendo assim a classe, não vou discutir:

public class Historico{
   private Internacao internacao;
   private Leito leitoUtilizado;
   private Date dataMudanca;

   // get, set, constructor, workers and whatever
}

O negócio seriam o(s) construtor(es) e os getters/setters fazerem as devidas referências a um objeto válido, o que gera os workers de validação e tudo mais.
Como disse, repito, não entendi muito bem a sua dúvida, o que pude fazer foi isso.

Certo, eu entendi a parte da confusão tambem…
eu queria saber como essas referencias chegam a classe historico, vc colocou oq supostamente seria…é era essa parte que estava em duvida //os atributos aqui no caso muda
mas entendi como devo proceder agora em diante…

Agradeço sua ajuda e paciencia,
Obrigado novamente e Abraço.

Mephy

só uma coisa que talvez tenha ficado vaga, que é de fato o acesso ao conteúdo (tô excluindo o banco)
pra pegar de volta esse relacionamento, você ia ter de settar um objeto pronto, ou já tacando o new direto
vamos supor que seja um setter comum:

Internacao inter;
// setta propriedades do inter
Historico hist;
hist.setInternacao(inter);
hist.getInternacao().getDataInternacao(); // <- get de objeto de objeto

// OU

Historico hist;
hist.setLeito(new Leito (/* construtor polimorfo overload com todos os dados */));
hist.getLeito().getStatus(); // get composto de novo

Postando isso mais por desencargo da consiência, já que sei nada de Java (uso lógica do .NET), então pode ter alguma diferençazinha na hora de alterar a propriedade
Vale isso pra todos atributos de classe

(percebo leve falha na didática de atributo-objeto e, principalmente, atributo-objeto[] no sistema de ensino OO atual /hum)

Boa noite bro o/

Criado 5 de abril de 2011
Ultima resposta 5 de abr. de 2011
Respostas 5
Participantes 2