Olá galera, estou fazendo uns exerciciozinhos para fixar um pouco o conceito de OO, quando me deparei com esse exercicio
[color=red] 11. Sua tarefa é criar uma classe que contenha um Registro de Agenda. A tabela 1 descreve as informações que
um Registro de Agenda deve conter:
Atributos Descriçao
Nome Nome da Pessoa
Endereço Endereço da Pessoa
Número de Telefone Número de telefone da Pessoa
Email Endereço eletrônico da Pessoa
Crie os seguintes métodos:
Forneça todos os métodos assessores e modificadores necessários para todos os atributos.
Construtores. [/color]
entao fiz um codiguzinho, nao sei se está certo, gostaria q alguem me falasse
public class RegistroDeAgenda {
private String nome,end,email;
private int tel;
public RegistroDeAgenda (String nome, String end, int tel, String email) {
setNome(nome);
setEnd(end);
setTel(tel);
setEmail(email);
}
public void setNome (String nome) {
this.nome = nome;
}
public void setEnd (String end) {
this.end = end;
}
public void setTel( int tel){
this.tel = tel;
}
public void setEmail (String email) {
this.email = email;
}
public String getNome() {
return(nome);
}
public String getEnd(){
return(end);
}
public int getTel() {
return(tel);
}
public String getEmail(){
return(email);
}
public String toString() {
return "Nome: " + getNome() + "\n Endereço: " + getEnd() + "\n Tel: " + getTel() + "\n Email: " + getEmail();
}
}
O método construtor, os metodos acessores e modificadores foram usado de forma correta?
e uma pergunta sobre o this, eu ainda nao entendo mt bem, eu usei ele no caso “this.nome= nome” isso quer dizer que a variavel declarada la no começo do codigo “private String nome;” corresponde a “this.nome” e ela recebe o valor de “nome” que é o argumento passado?
Quanto à sua pergunta sobre o this, é isso mesmo, ele se refere ao campo do objeto, não a variável local.
Só uma dica, que não vai mudar nada na execução ou compilação, mas facilita a legibilidade do código: sempre use nomes completos para variáveis, pois abreviações não vão ajudar em nada (na verdade podem até deixar o código mais confuso em programas maiores):
Qual é mais legível?
String nm;
String end;
String tel;
int id;
int alt;
double nt;
Ou
String nome;
String endereco;
String telefone;
int idade;
int altura;
double nota;
Outra coisa, em toString eu uso diretamente as variáveis:
public String toString()
{
return "Nome: " + nome + ", Endereço: " + endereco + ... ;
}
Mas aí fica a seu critério, se preferir fazer chamadas ao métodos getters.
[color=blue]Crie uma classe Agenda que possa conter entradas de objetos tipo Registro de Agenda (utilize a classe criada
no primeiro exercício). Devem ser oferecidos os seguintes métodos para a agenda:
Adicionar registro
Excluir registro
Visualizar registros
Modificar um registro [/color]
Po, agora fiquei perdido! O maximo que consegui fazer é addcionar uma contato simplesmente:
[code]import java.util.Scanner;
public class Agenda {
public static void main (String args[]) {
System.out.println("Qual o nome da pessoa?\n");
Scanner um = new Scanner(System.in);
String nome = um.next();
System.out.println("Qual seu endereço?\n");
Scanner dois = new Scanner(System.in);
String end = dois.next();
System.out.println("Qual seu telefone");
Scanner tres = new Scanner(System.in);
int tel = tres.nextInt();
System.out.println("Qual seu email");
Scanner quatro = new Scanner(System.in);
String email = quatro.next();
RegistroDeAgenda novaagenda = new RegistroDeAgenda(nome,end,tel,email);
System.out.println("Dados da pessoa: \n"+ novaagenda.toString());
}
}
[/code]
se fosse pra adcionar so um,remover so um, mas adicionar quantos contatos a pessoa quiser, exlucir determinado contato e visualizar determinado contato tb, nao tenho ideia de como fazer!O que devo fazer? um laço de de reptição? Mas ai os objetos nao teriam o nome :S
Neste caso, você quer fazer uma aplicação crud, use um banco de dados, eu criei um sistema de cadastro de produtos uma vez, usei MySQL ta rodando até hoje numa boa.