Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andredemuner

Método da classe extends não está sendo enxergado em outra classe.

Recommended Posts

Boa tarde pessoal, estou montando um trabalho em java que lida com Clientes, Notas e Filhos (Filhos são itens da nota fiscal).

 

Tenho as duas classes seguintes:

 

Notas.java

 

public class Notas extends Filhos{
   private String data;
   private String horario;
   private int status;
   private int idclientes;
   private NotasBD notasbd = new NotasBD();



   public void cadastrarNotas(Notas novaNota){
       notasbd.cadastrarNotas(novaNota);
   }

   public void cadastrarFilhos(Filhos novoFilho){
       notasbd.cadastrarFilhos(novoFilho);

     // getters and setters...

   }

 

 

Filhos.java

 

public class Filhos {
   private float quantidade;
   private String descricao;
   private float medida1;
   private float medida2;
   private float medida3;
   private float valor_unidade;
   private int id_notas;
   private int id_pai_auxiliar;
   private float soma_linha;

  // getters and setters...
}

 

 

 

Estou querendo inserir Filhos no banco de dados, para isso instanciei da seguinte maneira no arquivo JANELA.JAVA que é a minha GUI que contém os textfields.:

 

Notas novoFilho = new Notas();

 

porém dessa forma, não enxerga os get e sets de Filhos.java.

 

Pra solucionar isso, eu instanciei assim:

 

Filhos novoFilho = new Notas();

 

Agora ele acha os gets e sets de Filhos.java, porém não encontra agora o método cadastrarFilhos que está em Notas.java.

 

Exemplo de como estou usando e ele não encontra o método:

 

novoFilho.cadastrarFilhos(novoFilho);  //  não encontra esse método

 

Pensei que estava utilizando o extends corretamente, mas pelo visto não está herdando as características.

 

alguém pode me ajudar ? obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde pessoal, estou montando um trabalho em java que lida com Clientes, Notas e Filhos (Filhos são itens da nota fiscal).

 

 

Cara tenta fazer assim, invés de usar extends

 

Coloca no Classe Filho uma Variavel de Notas, ae resolve

 

public class Notas {
   //variaveis
   //...
}

public class Filhos {
   //variaveis
   //...
   private Notas notas;

   // getters and setters...	
   public void setNotas(Notas notas){
this.notas = notas;
   }
}

 

Ae é so voce estanciar o Filhos

 

Filhos filho = new Filhos();
dilho.setNotas(new Notas());

Compartilhar este post


Link para o post
Compartilhar em outros sites

André,

 

Pelo que vi a herança está sendo implementada corretamente, precisaria do código completo para testar e verificar o possível erro. No entanto, em seu projeto há um erro conceitual, pois Filho são os itens da Nota e nesse caso não há uma relação de herança/especialização entre Filhos e Nota. Na verdade Notas possui uma associação com nenhum, um ou muitos Filhos(itens). Sugiro a seguinte implementação:

 

Classe ItemNota

public class ItemNota {

private float quantidade;
private String descricao;
private float medida1;
private float medida2;
private float medida3;
private float valor_unidade;
private int id_pai_auxiliar;
   	private float soma_linha;

//Métodos...
}

 

 

Classe Nota

public class Nota {
private String data;
private String horario;
private int status;
private int idclientes;
private ArrayList<ItemNota> itens;

//Métodos...
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.