Ligando objectos

4 respostas
T

oi

hoje minha duvida é um pouco mais complicada(pelo menos para mim), é que eu tava fazendo um pograma que gere uma biblioteca e na parte da requisição surgiu um problema, problema esse que está no relacionamento do hashmao<string, livro>(a string é um código do livro) e do outro hashmap<string, aluno>(a string é um codigo tb e o aluno é o utente)

public void RequisitarLivro()
{
    String code;
    String code1;
    int op;
    
    System.out.println("Insira o código do livro: ");
    code=Input.lerString();
    
     if( !mapLivro.containsKey(code) ){
        System.out.println("Erro!!! Não existe nenhum livro com esse código!");
        Main.MenuPrincipal();}
     
        else{
    
    System.out.println("Pretende requisitar o livro"+mapLivro.get(code)+"da biblioteca??");
    System.out.println("Se não digite 3, caso contrario digite outro numero\n");
    op=Input.lerInt();
    if(op==3)
        Main.MenuPrincipal();
    else{
         System.out.println("Insira o código de utente");
         code1=Input.lerString();
          if( !mapAluno.containsKey(code1) ){
              System.out.println("Aluno não encontrado");
              Main.MenuPrincipal();}
          //else
            //Aqui deveria ser qualquer coisa a relacionar o utente com o livro a requisitar
            
      }    
  }

}

postem aí qlq coisa que minha cabeça não dá mais por hoje…

obrigado

-TUGA-

4 Respostas

L

ué, não seria isso:

Livro livro = mapLivro.get(code)
Aluno aluno = mapAluno.get(code1)

E ai vc relaciona os objetos livro e aluno da maneira como quizer (ou como esta modelado seu sistema), algo no estilo:

aluno.emprestar(livro)
T

até parece muito facil,mas dessa maneira vou ter de ter um metodo na class aluno e isso levanta-me 2 questões:

1- de que tipo vai ser o parametro que vai receber o metodo.tipo objecto?? como ponho.

2 - Dado que o aluno está num hasmap esse tal metodo tlv ficasse melhor num arraylist não?tipo Arraylist<?> requisitos;
requisitos.add(livro)???

obrigado

postem aí qlq coisa

-TUGA-

L

Pensa assim, quem vai emprestar o livro?! o aluno certo?! então o aluno empresta o livro… ele tem um método que empresta livro então logo o parâmetro é do tipo livro.
E ai o que seria o aluno emprestar o livro?! ai é a implementação desse método, pode ser cadastrar um emprestimo no banco de dados ou incluir o livro numa lista de livros emprestados pelo aluno, etc, isso depende dos requisitos da sua aplicação.
Até mesmo essa de o aluno empresta um livro, tem gente que pode ver isso como: o livro que é emprestado e não o aluno que empresta, ai pode ter ao inves de um método no aluno, um método no livro do tipo: “emprestarParaAluno(Aluno a)”
A analise do seu sistema não é uma coisa “exata”, não existe uma receita, uma formula certa, existe sim praticas boas, mas nada que diga 100% que tem que ser assim, não tem como eu te dizer como livro e aluno vão se ligar, isso depende dos requisitos, da sua analise.

entende?

sobre o HashMap, vc sabe o que faz um Map?! ele é tipo um indexador, vc tem la dentro um monte de alunos, e ele vai buscar esses alunos de acordo com uma chave, no caso o nome dele. Quando vc da get no Map, o aluno ligado aquela chave vai vir… essa parte eu acho que esta correta, e ai dentro de Aluno vc pode ter uma lista de livros emprestados por ele, ai sim poderia ser um ArrayList

bele?!

T

hum ok axo que percebi mas se ao tiver programando me surgir alguma duvida eu posto…

Obrigado

-TUGA-

Criado 21 de junho de 2007
Ultima resposta 22 de jun. de 2007
Respostas 4
Participantes 2