Estou implementando código do Projeto Interdisciplinar da faculdade deste semestre, para deixar o código mais organizado resolvi criar uma classe Endereço com campos rua, bairro, etc, em vez de jogar tudo na classe Pessoa como poderão ver abaixo.
Na classe Pessoa declarei um atributo endereco do tipo Endereco, porém minha dúvida é como farei para ler estes dados quando criar um novo objeto pessoa e como irei gravar e ler os dados de um arquivo, acho que vendo o código vocês entenderão o que estou tentando dizer.
Aproveitando a edição para complementar. Tenho neste projeto também mais 2 classes que usam estendem de pessoa (Extends Pessoa), Cliente e Funcionário, daria para fazer a Leitura e Gravação dos dois tipos de pessoa em classes separadas, que na minha opinião ficaria mais fácil, mas gostaria de saber a opinião de vocês também para saber se faço as classes de leitura e gravação de cliente e uma outra de leitura e gravação de funcionário ou somente deixo o método como está na classe pessoa gravando os dois tipos de pessoa.
Classe Endereço
public class Endereco {
private String rua;
private String bairro;
private String cidade;
private String estado;
private int numero;
private int cep;
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public int getCep() {
return cep;
}
public void setCep(int cep) {
this.cep = cep;
}
/*
* Não sei se é necessário o toString
*/
//@Override
//public String toString() {
// return rua + bairro + cidade + estado + numero + cep;
//}
}
Classe Pessoa
import java.io.*;
import javax.swing.JOptionPane;
public class Pessoa {
private String nome;
private int telefone;
private String email;
private int celular;
private Endereco endereco;
private int rg;
private int cpf;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getTelefone() {
return telefone;
}
public void setTelefone(int telefone) {
this.telefone = telefone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getCelular() {
return celular;
}
public void setCelular(int celular) {
this.celular = celular;
}
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public int getRg() {
return rg;
}
public void setRg(int rg) {
this.rg = rg;
}
public int getCpf() {
return cpf;
}
public void setCpf(int cpf) {
this.cpf = cpf;
}
public boolean cadastrar() {
boolean ret = false; //não foi possível gravar
try {
PrintWriter pw = new PrintWriter(new FileWriter(getNome() + ".txt")); //nome do arquivo
/*
* dados da pessoa.
*
*/
pw.println(getNome());
pw.println(getTelefone());
pw.println(getEmail());
pw.println(getCelular());
pw.println(getEndereco());
pw.println(getRg());
pw.println(getCpf());
pw.flush(); //tranfere dados da memória para o HD
pw.close(); //fecha e salva
ret = true;
} catch (IOException erro) { //mensagem caso o cadastro não seja bem sucedido
JOptionPane.showMessageDialog(null, "Falha ao gravar o cadastro!");
}
return ret;
}
public Pessoa alterar() {
Pessoa c = null; //inicialmente o objeto c pessoa está vazio
try {
BufferedReader br = new BufferedReader(new FileReader(getNome() + ".txt")); //Abre o arquivo
c = new Cliente();
/*
* Lê os dados
* Cada br.readLine lê uma linha
*/
c.setNome(br.readLine());
c.setTelefone(Integer.parseInt(br.readLine()));
c.setEmail(br.readLine());
c.setCelular(Integer.parseInt(br.readLine()));
//c.setEndereco(br.readLine()); //ver como abrir linhas do tipo Endereco
c.setRg(Integer.parseInt(br.readLine()));
c.setCpf(Integer.parseInt(br.readLine()));
br.close();
} catch (IOException erro) {
JOptionPane.showMessageDialog(null, "Falha ao ler o arquivo!");
}
return c;
}
public void apagar() {
}
}
Os professores que lecionam as disciplinas que fazem parte do Projeto Interdisciplinar não dão o devido apoio e nem tiram todas as dúvidas, por isso recorri à este fórum.
Peço desculpas se postei de maneira incorreta alguma coisa ou se o tópico ficou muito comprido e agradeço desde já ajudas futuras.
Qualquer dúvida por favor postem que irei responder o mais rápido possível.
Pergunta
Felipe C. Araujo
Estou implementando código do Projeto Interdisciplinar da faculdade deste semestre, para deixar o código mais organizado resolvi criar uma classe Endereço com campos rua, bairro, etc, em vez de jogar tudo na classe Pessoa como poderão ver abaixo.
Na classe Pessoa declarei um atributo endereco do tipo Endereco, porém minha dúvida é como farei para ler estes dados quando criar um novo objeto pessoa e como irei gravar e ler os dados de um arquivo, acho que vendo o código vocês entenderão o que estou tentando dizer.
Aproveitando a edição para complementar. Tenho neste projeto também mais 2 classes que usam estendem de pessoa (Extends Pessoa), Cliente e Funcionário, daria para fazer a Leitura e Gravação dos dois tipos de pessoa em classes separadas, que na minha opinião ficaria mais fácil, mas gostaria de saber a opinião de vocês também para saber se faço as classes de leitura e gravação de cliente e uma outra de leitura e gravação de funcionário ou somente deixo o método como está na classe pessoa gravando os dois tipos de pessoa.
Classe Endereço
Classe PessoaOs professores que lecionam as disciplinas que fazem parte do Projeto Interdisciplinar não dão o devido apoio e nem tiram todas as dúvidas, por isso recorri à este fórum.
Peço desculpas se postei de maneira incorreta alguma coisa ou se o tópico ficou muito comprido e agradeço desde já ajudas futuras.
Qualquer dúvida por favor postem que irei responder o mais rápido possível.
Editado por Felipe C. AraujoLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.