1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como herdar métodos

Ola pessoal, Tenho uma classe de cadastro de pessoas físicas (P_Manter_PF_Aba1) e outra de cadastro de pessoas jurídicas (P_Manter_PJ_Aba1). Como ambas as classes utilizam os mesmos dados da cidade, criei uma classe chamada F_Pesquisar_Cidades. Dentro dessa classe cidade criei um método para popular o form da PF e outro método para popula o forma da PJ. Minha duvida esta em como acionar um método ou outro na classe cidade dependendo da classe que a chamou, ou seja, se classe que chama a cidade for o form PF (P_Manter_PF_Aba1) o método acionado na classe cidade deve ser o da PF, ou seja, ImportarCidades_PF(), e vice versa. Inicialmente criei dois construtores, um pra PF outro para PJ, mas não sei como usar um ou outro. Abaixo os métodos construtores e métodos na classe cidades.

public F_Pesquisar_Cidades(P_Manter_PF_Aba1 pf) {
        initComponents();
        cid_pf=pf;    
    }

    public F_Pesquisar_Cidades(P_Manter_PJ_Aba1 pj) {
        initComponents();
        cid_pj=pj;    
    }

public void ImportarCidades_PF(){
    if (jTb_Pesq_Cidades.getSelectedRow() != -1) {
       cid_pf.setjTf_CEP_Cidade(""+jTb_Pesq_Cidades.getValueAt(jTb_Pesq_Cidades.getSelectedRow(),1));  
       cid_pf.setjTf_Cidade(""+jTb_Pesq_Cidades.getValueAt(jTb_Pesq_Cidades.getSelectedRow(),2));
       cid_pf.setjTf_UF(""+jTb_Pesq_Cidades.getValueAt(jTb_Pesq_Cidades.getSelectedRow(),3));
       cid_pf.setjTf_Codigo_Cidade(""+jTb_Pesq_Cidades.getValueAt(jTb_Pesq_Cidades.getSelectedRow(),0)); 
       //cid_pf.setjTf_Codigo_Cidade(Integer.parseInt(""+jTb_Pesq_Cidades.getValueAt(jTb_Pesq_Cidades.getSelectedRow(),0))); 
       setVisible(false);
    }
}

public void ImportarCidades_PJ(){
    if (jTb_Pesq_Cidades.getSelectedRow() != -1) {
       cid_pj.setjTf_CEP_Cidade(""+jTb_Pesq_Cidades.getValueAt(jTb_Pesq_Cidades.getSelectedRow(),1));  
       cid_pj.setjTf_Cidade(""+jTb_Pesq_Cidades.getValueAt(jTb_Pesq_Cidades.getSelectedRow(),2));
       cid_pj.setjTf_UF(""+jTb_Pesq_Cidades.getValueAt(jTb_Pesq_Cidades.getSelectedRow(),3));
       cid_pj.setjTf_Codigo_Cidade(""+jTb_Pesq_Cidades.getValueAt(jTb_Pesq_Cidades.getSelectedRow(),0)); 
       //cid_pf.setjTf_Codigo_Cidade(Integer.parseInt(""+jTb_Pesq_Cidades.getValueAt(jTb_Pesq_Cidades.getSelectedRow(),0))); 
       setVisible(false);
    }
}
  • Ezem, aconselho você ler sobre padrões de nomeclatura. Seus métodos estão nomeados de uma maneira díficil de se entender. Procure não usar underline em nomeclaturas e abusar do case-sensitive. Assim: ImportarCidades_PF, no padrão de nomeclatura JAVA seria: importarCidadesPessoaFisica. Diz alguns padrões que apenas classes podem iniciar com a primeira letra em maiúscula, outros aceitam para métodos caso este seja público. Assim seu código fica mais legível e auxilia outros à ajudá-lo nestas dúvidas.

    Joaquim Magalhães   09 de ago de 2014
  • Assim, também para variáveis: nomeie com nomes coerentes e sem abreviaturas desnecessárias como "PF" e "PJ". pessoaJuridica e pessoaFisica seriam o correto. Abreviaturas somente em conceitos já conhecidos como cxDiario para "Caixa", tbPessoa para "Tabela pessoa" , entre outros.

    Joaquim Magalhães   09 de ago de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags herança ou faça a sua própria pergunta.