Olá desenvolvedores, é chegado o momento de começarmos a estudar relacionamento entre objetos adicionando novos atributos ao sistema. Assim, daremos continuidade ao desenvolvimento do sistema que estamos construindo juntos. Então sem mais delongas, vamos direto ao ponto.
Dentro da classe ou do objeto Aluno, existe um conjunto de informações que estão diretamente ligadas a vida acadêmica do aluno. Estas informações são, por hora, as notas do aluno.
E se quisermos agora adicionar a estas informações acadêmicas as disciplinas das respectivas notas? Certamente existe um modo dinâmico de fazermos isso, entretanto, por hora, seguimos com um passo por vez.
Assim sendo, na classe a aluno adicione quatro atributos disciplina, cada um pertencendo respectivamente a cada nota
private String disciplina01;
private String disciplina02;
private String disciplina03;
private String disciplina04;
Após a criação dos atributos, lembre-se de gerar os métodos setters e getters para cada uma das disciplinas. Feito isso, o próximo passo é a atribuição das disciplinas no método principal.
Comece solicitando ao usuário que entre com os nomes das disciplinas. Perceba, o usuário entrará com o nome da disciplina e na sequência a nota correspondente. Dessa forma, a construção do seu algoritmo deve seguir o exemplo abaixo.
String disciplina01 = JOptionPane.showInputDialog("Insira a DISCIPLINA 01");
String nota01 = JOptionPane.showInputDialog("Insira NOTA 01");
Repita o procedimento com as quatro disciplinas. A tarefa a seguir é passar as novas informações para o objeto. Lembra como fazemos isso? Chama-se a variável do objeto, seguido do método set, para onde passaremos a informação por referência.
aluno.setDisciplina01(disciplina01);
aluno.setDisciplina02(disciplina02);
aluno.setDisciplina03(disciplina03);
aluno.setDisciplina04(disciplina04);
Agora voltando ao objeto Aluno, adicione ao método toString as respectivas disciplinas para que possamos imprimi-las no console. Você pode adicioná-las manualmente ou gera-las automaticamente.
A saída desta nova implementação será como mostra o exemplo abaixo. Provavelmente a saída do seu código estará diferente, na verdade, eu apenas personalizei o toString.
EM POUCAS PALAVRAS
Novamente, existe um outro caminho que nos conduz a um código mais performático e dinâmico. Onde criamos um novo objeto, adicionamos novos atributos e aprendemos o conceito de se trabalhar com listas.
Da forma como fizemos esta implementação o nosso código ficou engessado. E se quiséssemos adicionar uma nova disciplina? Teríamos que adicioná-la manualmente. Definitivamente não é assim que deveria funcionar. Entretanto, este é o melhor caminho didático para que aprenda como as coisas são nos bastidores. Então fique com a gente, e não perca o próximo tutorial, onde vamos aprimorar o nosso código.