Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Ereditarietà

Hybrid View

  1. #1
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Scusa, non ti offendi vero se ti dico che così come l'hai spiegato non si capisce proprio nulla? Forse è meglio se posti del codice, almeno le parti di quelle classi di cui parli in cui si possa perlomeno vedere come è dichiarata la classe e che campi contiene.
    allora, praticamente ho creato 4 classi.
    La prima classe(padre) crea 2 classi figlie da cui ciascun figlio eredita la variabile conta.
    ora il secondo figlio diventa padre in quanto crea un altro figlio.
    Il problema sta nel fatto che il figlio appena creato eredità la variabile conta del padre originario.
    se lo dichiarò normalmente con private int conta=10 viene ereditato correttamente. Mentre invece se lo incremento dentro un ciclo while questo quanto viene ereditato mi restituisce un valore pari a zero.

  2. #2
    Quote Originariamente inviata da signfra Visualizza il messaggio
    allora, praticamente ho creato 4 classi.
    La prima classe(padre) crea 2 classi figlie da cui ciascun figlio eredita la variabile conta.
    ora il secondo figlio diventa padre in quanto crea un altro figlio.
    Il problema sta nel fatto che il figlio appena creato eredità la variabile conta del padre originario.
    se lo dichiarò normalmente con private int conta=10 viene ereditato correttamente. Mentre invece se lo incremento dentro un ciclo while questo quanto viene ereditato mi restituisce un valore pari a zero.
    Codice del padre
    codice:
    public class Contatore {
        
        
        public  int contanumeropersonevistabel=0;
        
        public int contanueropersoneins=0;
    }
    Codice dei due figli

    1 figlio

    codice:
    public class insert_query extends Contatore {
       
        private String Nometab,Nome_,Cognome_;
        
        public int conta;
        
        
        Connection conn = null;
        Statement stmt = null;
        
       
          
    
    
    //   //
    
    //   //
    
    
    //   //
    
    
    //     //
    while (rs.next()) {
    
    
              super.contanumeropersonevistabel++;
              
    this.conta=super.contanumeropersonevistabel;
              
              
              
              
              System.out.println("Contatore persone incrementato"+this.conta);
    
    
    
              
    
    
    }

    2 figlio

    codice:
    public class insertn_persone extends Contatore {
       
        private String Nometab,Nome_,Cognome_;
        
        public int conta;
        
        
        Connection conn = null;
        Statement stmt = null;
        
       
          
      public void insertquerynpersone(String nometabella,String Nome, String Cognome){
          
          this.Nometab=nometabella;
          this.Nome_=Nome;
          this.Cognome_=Cognome;
          
      System.out.println(""+nometabella+Nome+Cognome);
          
          
          try{
              
           // codice esecuzione query//
          
          super.contanueropersoneins++;
          
          
          this.conta=super.contanueropersoneins;
          
          System.out.println("Contatore inserimento persona"+this.conta);
    
                
          
          
      
         
    
    
       
          
          
        
       }catch(SQLException se){
          //Handle errors for JDBC
          se.printStackTrace();
       }catch(Exception e){
          //Handle errors for Class.forName
          e.printStackTrace();
       }finally{
          //finally block used to close resources
          try{
             if(stmt!=null)
                stmt.close();
          }catch(SQLException se2){
          }// nothing we can do
          try{
             if(conn!=null)
                conn.close();
          }catch(SQLException se){
             se.printStackTrace();
          }//end finally try
       }//end try
       System.out.println("Goodbye!");  
        
      }
      
    }
    codice:
    public  class Personsearch extends insert_query    {
        
      
    Person pers;
        
    public String Nome;
    public String Cognome;
    public int contatotale;
     
    
    
    public Personsearch(String Nome,String Cognome) {
        
    
        System.out.println("Contatore"+super.conta);
        
    
        
    }
    Ecco il problema e che il contatore della classe insert_query non eredita il conta e mi porta un valore pari a zero. Mentre se nella classe insert_query se dichiaro normalmente un public int conta2=10; quando lo eredito nella classe Personsearch lo eredita e non so il motivo.
    Ultima modifica di LeleFT; 22-04-2014 a 09:58 Motivo: Aggiustati tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.