Classes de negócios (associação)

13 respostas
S

Tenho uma classe Boletim que exibi informações de alunos e disciplinas, esta associação está correta?

public class Boletim {
       
	   
	   private Disciplina disciplina;
	   private Aluno aluno;
	   
	   public Boletim () { }
	   
	   	  	   
	   //===================================================//
	    
	   public void setDisciplina (Disciplina dis) { 
		      this.disciplina = dis;
	   }
	   
	   public Disciplina getDisciplina () {
		      return this.disciplina;
	   }
	   
	   //=====================================================//
	   
	   public void setAluno (Aluno a) { 
		      this.aluno = a;
	   }
	   
	   public Aluno getAluno () {
		      return aluno;
	   }
	   
	   
}

E também como poderia validar alunos e disciplinas, tipo quando esses objetos forem nulos, poderia criar
interfaces e com métodos específicos para cada um implementar ???

13 Respostas

xan

parece que desse jeito, em cada Boletim um aluno cursa apenas uma disciplina

S

OK, então seria Boletim tem aluno e várias disciplinas .;

public class Boletim {
                 
                   private Aluno aluno;
                   private List <Disciplina> disciplina;

}

Correto ?

E também como poderia validar alunos e disciplinas, tipo quando esses objetos forem nulos, criar interfaces com métodos específicos para cada classe implementar seria uma solução ???
rolemberg

Então vc não precisa instanciar Disciplina dentro de boletim pois já esta chamando em aluno.

S

Chamando em aluno, como assim? na minha opinião aluno não contém disciplina.

rolemberg

Se vc já declarou dentro de aluno, não faz sentido ter que declar novamente dentro de Disciplina.

S

Aluno e disciplina não se relacionam, não há disciplina dentro de aluno e nem aluno dentro de disciplina

S

???

rolemberg

Desculpe, pensei ter visto uma copia e acabei falando pesteira…

Mas
Aluno pode ter 0 ou n disciplinas…
Disciplina pode ter 1 ou n Alunos

por que não declara desse geito???

sergiotaborda
spwe:
E também como poderia validar alunos e disciplinas, tipo quando esses objetos forem nulos, poderia criar interfaces e com métodos específicos para cada um implementar ???

Acho que vc quer dizer "fazer a consistência". quando o objeto passado no argumento não respeita o contrato lance uma exception.

/**
*  @param disciplina Disciplina a adicionar ao boletim. Não pode ser <code>null</code>
*  @throws IllegalArgumentException se disciplina for <code>null</code>
*/
public void addDisciplina(Disciplina disciplina){
    if (disciplina==null){
        throw new IllegalArgumentException("Disciplina is mandatory");
    }
      this.disciplinas.add(disciplina);
}
S

Certo, fazendo isso não trava o programa ? tipo como faria para voltar e cadastrar (disciplina antes ) e depois boletim ? a minha solução é instanciar os objetos antes, há outros modos?

S

Alguma dica?

sergiotaborda

Não estou entendendo o seu problema.

Disciplina disciplina = new Disciplina("Matemática");

Aluno aluno = new Aluno("Ana");

Boletim bol = new Boletin();
bol.setAluno(aluno);
bol.addDisciplina(disciplina);

O que vc quer dizer com “como faria para voltar e cadastrar” ?

S

Ja resolvi , vlw !

Criado 29 de novembro de 2007
Ultima resposta 29 de nov. de 2007
Respostas 13
Participantes 4