Pode encapsular tudo assim? Como separo?

3 respostas
paulovc

Galera, não queria voltar a oportuná-los com este assunto de novo… mas preciso de uma pequena ajuda de vocês!!

Meu projeto pra manhã tá pronto…

Hoje, pedi pro meu Professor dar uma pequena olhada e ver se tava tudo ok… Ele olhou rápido e disse-me que devo separar meus métodos “cadastrar”, “editar”, “excluir” e etc em outros arquivos… Que quanto mais separado for, melhor! Isso é verdade??

Aqui está o arquivo com os meus métodos (resumido):

public class incluir{
       //m imprimir
       public String imprimir(){
              return "        > '"+this.getNome()+"' com a nota "+this.getNota();
       }
       
       //m cadastrar
       public void cadastrar(String xnome, double xnota){
                      this.setNome(xnome);
                      this.setNota(xnota);
                      if(xnota>=6){
                                   incluir.totalcandidatos6++;
                      }
                      incluir.totalcandidatos++;              
       }
       //m buscar
       public boolean searchNome(String nome){
              if(this.nome.equals(nome)){
                           incluir.totalbuscas++;
                           return true;
              }
              else {
                           return false;
              }
       }
       //m editar
       public void editar(String xnome, double xnota, double xnota2){
              this.setNome(xnome);
              if(xnota2>=6 && xnota<6){
                           incluir.totalcandidatos6--;
              }
              else if(xnota2<6 && xnota>=6){
                           incluir.totalcandidatos6++;
              }
              this.setNota(xnota); 
              incluir.totaleditados++;               
       }
       //m excluir
       public void excluir(String xnome, double xnota){
              incluir.totalexclusoes++;
              incluir.totalcandidatos--; 
              if(xnota>=6){
                           incluir.totalcandidatos6--;
              }
              this.setNome("");
              this.setNota(0);       
       }
       //m relatar
       public void relatar(){
              incluir.totalrelatorios++;          
       }
}

Dentro deste arquivo, que mostrei aí em cima, tem os métodos GET e SET para cada variável funcionando perfeitamente…

O outro arquivo é o “mãe”, onde roda o programa e controla tudo. Vejam ele BEM RESUMIDO:

import java.util.*;

public class Principal{

        public static void main(String args[]){
            incluir[] ap = new incluir[999];
            incluir pa = new incluir(); 

                    //exemplo do cadastrar
                    System.out.printf(">>>>>>>>>>>>>>> Digite o numero de alunos: ");
                    n = scan.nextInt();
                    System.out.println();
                    for(i=1;i<=n;i++){
                        System.out.printf("> Digite o nome do aluno ("+(incluir.getTotal()+1)+"): "); 
                        nome = scan.nextLine();
                        nome = scan.nextLine();
                        System.out.printf("> Digite a nota do aluno ("+(incluir.getTotal()+1)+"): ");
                        nota = scan.nextDouble();
                        ap[incluir.getTotal()] = new incluir();
                        ap[incluir.getTotal()].cadastrar(nome,nota);
                        System.out.println();
                    }
}

Não há a necessidade de colocar todo meu código grande aí pra dificultar pra vocês…

Vejam acima, instanciei meus dois objetos… o objeto “ap” é o array que guarda tudo e tem seus métodos cadastrar,editar,excluir funcionando perfeitamente! Ele quer que eu divida esses métodos em outros arquivos, certo! Como faço isso?? Tenho que instanciar vários objetos?? Só consegui entender fazendo do meu jeito, ou seja, tudo de uma vez… Separando em várias classes não consigo ver lógia de funcionamento. Podem me ajudar, por favor?

Desde já muito obrigado!

3 Respostas

c354r

Vixi... :shock:

Uma dica aí, faça um método pra isso aqui:
incluir[] ap = new incluir[999];  
            incluir pa = new incluir();   
  
                    //exemplo do cadastrar  
                    System.out.printf(">>>>>>>>>>>>>>> Digite o numero de alunos: ");  
                    n = scan.nextInt();  
                    System.out.println();  
                    for(i=1;i<=n;i++){  
                        System.out.printf("> Digite o nome do aluno ("+(incluir.getTotal()+1)+"): ");   
                        nome = scan.nextLine();  
                        nome = scan.nextLine();  
                        System.out.printf("> Digite a nota do aluno ("+(incluir.getTotal()+1)+"): ");  
                        nota = scan.nextDouble();  
                        ap[incluir.getTotal()] = new incluir();  
                        ap[incluir.getTotal()].cadastrar(nome,nota);  
                        System.out.println();  
                    }  
}

Pra não ficar bagunçado lá no método main...
Dá um ar de organizado. rs

T

Pesquise sobre design pattern DAO.

http://javafree.uol.com.br/artigo/871452/Introducao-ao-pattern-DAO.html

paulovc
c354r:
Vixi... :shock: Uma dica aí, faça um método pra isso aqui:
incluir[] ap = new incluir[999];  
            incluir pa = new incluir();   
  
                    //exemplo do cadastrar  
                    System.out.printf(">>>>>>>>>>>>>>> Digite o numero de alunos: ");  
                    n = scan.nextInt();  
                    System.out.println();  
                    for(i=1;i<=n;i++){  
                        System.out.printf("> Digite o nome do aluno ("+(incluir.getTotal()+1)+"): ");   
                        nome = scan.nextLine();  
                        nome = scan.nextLine();  
                        System.out.printf("> Digite a nota do aluno ("+(incluir.getTotal()+1)+"): ");  
                        nota = scan.nextDouble();  
                        ap[incluir.getTotal()] = new incluir();  
                        ap[incluir.getTotal()].cadastrar(nome,nota);  
                        System.out.println();  
                    }  
}

Pra não ficar bagunçado lá no método main...
Dá um ar de organizado. rs

Saquei, rsrs!

Como eu ativo ele depois?

new Cadastrar();

por exemplo?

Obrigado!

thiagohneves:
Pesquise sobre design pattern DAO.

http://javafree.uol.com.br/artigo/871452/Introducao-ao-pattern-DAO.html

Beleza! Vou já! Obrigado

Criado 8 de junho de 2010
Ultima resposta 8 de jun. de 2010
Respostas 3
Participantes 3