Problema Herança: Classe filha nao enxerga metodos

12 respostas
M

Tenho 3 classes: Pessoa, PessoaFisica (que extende de Pessoa) e BeneficiarioTarifaSocial (que extende de PessoaFisica).

O problema é que a classe BeneficiarioTarifaSocial só está enxergando os métodos dela própria. Os métodos de PessoaFisica e Pessoa ela não está herdando.

public class PessoaImpl extends BussinessObject implements Pessoa{
 
	private int matricula;
	 
	private String nome;
	 
	private String sexo;
	 
	private String CPF_CNPJ;
	 
	private String RG;
	 
	private String orgaoExpedidor;
	 
	private Date dataExpedicao;
	 
	private String email;
	 
	private String indEntregaConta;
	 
	private Date diaOpcaoVenc;	 
	 
	private Endereco endereco;
	
	private DAC dac;
	 
	private TipoResponsavel tipoResponsavel;
	 
	private TipoAdministracao tipoAdministracao;
	
	public PessoaImpl(){
		super();
	}
	
	public PessoaImpl(int matricula){
		super(true);
		this.setMatricula(matricula);
	}
public class PessoaFisicaImpl extends PessoaImpl implements PessoaFisica {
 
	 
	private String nomeMae;
	 
	private Date dataNascimento;

	
	
	public PessoaFisicaImpl(){
		super();
	}
	
	public PessoaFisicaImpl(int matricula){
		super(matricula);
	}
public class BeneficiarioBolsaFamiliaImpl extends PessoaFisicaImpl implements BeneficiarioBolsaFamilia{
 
	 
	private String nis;
	 
	private Date dataCadastramento;
	 
	private Banco banco;	
	
	public BeneficiarioBolsaFamiliaImpl(){
		super();
	}
	
	public BeneficiarioBolsaFamiliaImpl(int matricula){
		super(matricula);
	}

INTERFACES:

public interface Pessoa {
	
	 
	public void cadastrarTelefone(Telefone telefone);
	 
	public void cadastrarImovel(Imovel imovel) ;
		 
	public void setEndereco(Endereco endereco);
	 	 
	public Endereco getEndereco();
		 
	public void setDAC(DAC dac);
	 	 
	public DAC getDAC();
			 
	public void setTipoResponsavel(TipoResponsavel tipoResponsavel);
	 	 
	public TipoResponsavel getTipoResponsavel();
			 
	public void setTipoAdministracao(TipoAdministracao tipoAdministracao);
	 	 
	public TipoAdministracao getTipoAdministracao();
		
	public void setMatricula(int matricula);
	 
	public int getMatricula();
		 
	public void setNome(String nome);
	 
	public String getNome();	
		 
	public void setCPF_CNPJ(String CPF_CNPJ);
	  
	public String getCPF_CNPJ();		
	 
	public void setRG(String RG);	 	
	 
	public String getRG();		
	
	 public void setEmail(String email);
	 	
	 public String getEmail();		
	 
	public void setOrgaoExpedidor(String orgaoExpedidor);	 
	 
	public String getOrgaoExpedidor();
				 
	public void setDataExpedicao(Date dataExpedicao);
	  
	public Date getDataExpedicao();
	 
	public void setIndEntregaConta(String indEntregaConta);
	 
	public String getIndEntregaConta();	
	 
	public void setDiaOpcaoVenc(Date diaOpcaoVenc);
	 
	public Date getDiaOpcaoVenc();
	
	public String getSexo();

	public void setSexo(String sexo);
		
}
public interface PessoaFisica {
 
	 
	public void setNomeMae(String nomeMae);
	
	public String getNomeMae();
	 
	public void setDataNascimento(Date dataNascimento);
	 
	public Date getDataNascimento();
}
public interface BeneficiarioBolsaFamilia{
 
	 
	public void setBanco(Banco banco);
	 
	public Banco getBanco();
	 	 
	public void setNis(String nis);
	 
	public String getNis();
	 
	public void setDataCadastramento(Date dataCadastramento);
	 
	public Date getDataCadastramento();	 
}

O que pode estar errado?

12 Respostas

odair.bonin

Oi,

Parece que em sua classe PessoaFisicaImpl só tem construtor.
Qual método deveria herdar ?

Abraços

dreamspeaker

Como vc implementou os métodos em PessoaFisicaImpl?

M

Os métodos estão implementados, eu apenas os ocultei.

dreamspeaker

Engraçado que lá em cima você fala de BeneficiarioTarifaSocial e nos exemplos você coloca BeneficiarioBolsaFamiliaImpl.

Bem, você não implementou os métodos como private em PessoaFisicaImpl, certo?!

M

dreamspeaker:
Engraçado que lá em cima você fala de BeneficiarioTarifaSocial e nos exemplos você coloca BeneficiarioBolsaFamiliaImpl.

Bem, você não implementou os métodos como private em PessoaFisicaImpl, certo?!

O certo é BeneficiarioBolsaFamilia mesmo.
Os métodos estão públicos.

T

magaupe:
dreamspeaker:
Engraçado que lá em cima você fala de BeneficiarioTarifaSocial e nos exemplos você coloca BeneficiarioBolsaFamiliaImpl.

Bem, você não implementou os métodos como private em PessoaFisicaImpl, certo?!

O certo é BeneficiarioBolsaFamilia mesmo.
Os métodos estão públicos.


Ela deveria ter os metodos de Pessoa? você implementou na classe PessoaImpl

Os metodos de Interface ou Classe Abstrata devem ser implementados na primeira classe Concreta ou seja em PessoaIMPL
E pelo jeito sua classe BeneficiarioBolsaFamiliaImpl, vai herdar tudo de todos e depois implementar a interface!

Abraço.

M

truck1n:
magaupe:
dreamspeaker:
Engraçado que lá em cima você fala de BeneficiarioTarifaSocial e nos exemplos você coloca BeneficiarioBolsaFamiliaImpl.

Bem, você não implementou os métodos como private em PessoaFisicaImpl, certo?!

O certo é BeneficiarioBolsaFamilia mesmo.
Os métodos estão públicos.


Ela deveria ter os metodos de Pessoa? você implementou na classe PessoaImpl

Os metodos de Interface ou Classe Abstrata devem ser implementados na primeira classe Concreta ou seja em PessoaIMPL
E pelo jeito sua classe BeneficiarioBolsaFamiliaImpl, vai herdar tudo de todos e depois implementar a interface!

Abraço.

Esse é o problema.
Os métodos estão implementados em PessoaImpl mas BeneficiarioBolsaFamiliaImpl não está herdando nada.

T

Os metodos estão públicos?

M

Estão sim!

T

Estão sim!

Cara eu acho que não tem utilidade você criar uma interface para confirmar a criação de Getters e setters.

Crie apenas os atributos na Interface com isso na classe você vai criar os getters e setters.

M

Problema resolvido!
Estava esquecendo de extender as interfaces também.
Valeu a atençao de voces.

T

magaupe:
Problema resolvido!
Estava esquecendo de extender as interfaces também.
Valeu a atençao de voces.

você estava esquencendo de IMPLEMENTAR, as interfaces, por isso que o pessoal pedi para mostrar o código inteiro!

Abraço

Criado 6 de outubro de 2008
Ultima resposta 6 de out. de 2008
Respostas 12
Participantes 4