Bom dia minha situação é a seguinte
Classe Pessoa {
[code]public class Pessoa {
private String nome;
private int idade;
private String cpf;
private String endereco;
Pessoa (String nome, String cpf){
this.nome = nome;
this.cpf = cpf;
}
//Outras propriedades da classe ocultadas
public String exibe() {
String a = "Bem vindo "+this.getNome()+" Seu CPF é o "+this.getCpf();
return a;
}
}[/code]
Classe PessoaFisica
public class PessoaFisica extends Pessoa {
private String rg;
PessoaFisica(String nome, String rg) {
super(nome, rg);
this.rg = rg;
}
public String exibe() {
String a = "Bem vindo "+this.getNome()+" Seu rg é o "+this.getRg();
return a;
}
private String getRg() {
return this.rg;
}
}
e classe Pessoa Juridica
public class PessoaJuridica extends Pessoa {
private String cnpj;
PessoaJuridica(String nome, String cnpj) {
super(nome, cnpj);
this.cnpj = cnpj;
}
public String exibe() {
String a = "Bem vindo "+this.getNome()+" Seu CNPJ é o "+this.getCnpj();
return a;
}
public String getCnpj(){
return this.cnpj;
}
}
1º - Gostaria de saber nesse caso se a melhor forma de trabalhar com o RG e o Cnpj seria declarando essas váriaveis dentro das extensões mesmo ou se seria melhor usar na própria classe Pessoa normal.
2º - O métodos EXIBE por ser string e alterar os getters utilizados tem que ser re-escrito da maneira que eu fiz, sei que da pra chamar o métodos original pelo super.nomedometodo() mas no exemplo que tive ele apenas adiciona um valor a uma conta efetuada, nesse caso por ser String fiquei em dúvida.
Obrigado.