Esta aceitavel?

7 respostas
kamuiorg

Ola pessoal td bem?
Estou mandando um condigo pra vcs analizarem e dizem se esta forma q fiz esta pelo menos aceitavel para um iniciante ou deveria fazer algumas alterações?
Caso presise, quais seriam elas?
Desde de ja obrigado ^^

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package javaapplication86;

/**
 *
 * @author K4MU1
 */
import java.util.Scanner;
public class Agenda {
private String nome;
    private String endereco;
    private String numTel;
    private String email;

    //Retorna o nome
    public String getNome()
    {
        return nome;
    }

    //Muda o nome
    public void setNome(String nome)
    {
        this.nome = nome;
    }

    //Retorna o endereço
    public String getEndereco()
    {
        return endereco;
    }

    //Muda o endereco
    public void setEndereco(String endereco)
    {
        this.endereco = endereco;
    }

    //Retorna o número do telefone
    public String getNumTel()
    {
        return numTel;
    }

    //Muda o número de telefone
    public void setNumTel(String numTel)
    {
        this.numTel = numTel;
    }

    //Retorna o e-mail
    public String getEmail()
    {
        return email;
    }

    //Muda o e-mail
    public void setEmail(String email)
    {
        this.email = email;
    }

    //Imprimi na tela as imformações digitadas pelo usuário
    public void print()
    {
        System.out.println("Nome: " + nome);
        System.out.println("Endereço: " + endereco);
        System.out.println("Telefone: " + numTel);
        System.out.println("E-mail: " + email);
    }
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner sc = new Scanner(System.in);
        Agenda registro = new Agenda();
        System.out.print("Digite o nome: ");
        registro.nome = sc.next();
        System.out.print("Digite o Endeerço: ");
        registro.endereco = sc.next();
        System.out.print("Digite o Número do telefone: ");
        registro.numTel = sc.next();
        System.out.print("Digite o E-mail: ");
        registro.email = sc.next();
        registro.print();

    }

}

7 Respostas

renanreismartins

oi kamuiorg…

modelagem é uma coisa muito particular, logico que existem boas praticas e etc… mas td depende da necessidade…

pra aprender mais sobre orientaçao a objetos vc poderia colocar endereço em uma classe separada e associa-lo a agenda…

bom estudo

abraços

ajfilho

Você poderia criar a classe Agenda com o CRUD e criar uma classe separada para executar o Scanner, e nela chamar a classe Agenda.

Mas é como o renanreismartins disse, vai de pessoa para pessoa, o importante é seguir uma boa prática!

Abraços!

sedmalakian

Não compilei o seu codigo, mas aparentemente esta legal.
Ficaria melhor se você criasse uma classe de teste separada da classe agenda assim você realmente usaria os setters e getters:

public class Teste(){
        public static void main(String[] args) {    
                Scanner sc = new Scanner(System.in);

                Agenda registro = new Agenda(); 
  
                System.out.print("Digite o nome: ");   
                registro.setNome = sc.next();   
                System.out.print("Digite o Endeerço: ");   
                registro.setEndereco = sc.next();   
                System.out.print("Digite o Número do telefone: ");   
                registro.setNumTel = sc.next();   
                System.out.print("Digite o E-mail: ");   
                registro.setEmail = sc.next();   
                registro.print();   
        }
    }   
  
}

Acho que já ajuda um pouco.

dudaskank

Melhorando ainda mais, acho que essa classe na verdade deveria se chamar contato, e você aí sim criaria uma classe agenda com uma lista de contatos e métodos para gravar, apagar, atualizar e buscar contatos… que tal?

B

Tente parar de usar o getters and setters e use os construtores para fazer um objeto.

Mavericks

Vc pode colocar os getters e setters em uma classe separada.

Andre_Fonseca

oi

tente usar toString ao invés do print()

faça assim

public class Contato {
  int idade;
  String nome;

  Contato(int idade, String nome) {
    this.idade=idade;
    this.nome=nome;
  }

  String toString() {
    return idade+":"+nome;
  }

  public static void main (String args[]) {
    Contato contato = new Contato(30, "Zezinho");
    System.out.println(contato);
  }

a saída vai ser algo do tipo

30:Zezinho

abs

Criado 3 de fevereiro de 2009
Ultima resposta 3 de fev. de 2009
Respostas 7
Participantes 8