Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313

    [JAVA]Implementare e richiamare due metodi in una classe

    Salve a tutti.Mi trovo di fronte ad un problema a cui non so darmi risposta.
    Ho una classe Controller a cui e collegata un'interfaccia IQuery con i metodi: buildQuery() ed execQuery(),ed una classe QueryMySql che implementa questa interfaccia.Adesso volev chiedere come devo fare per richiamare questi due metodi nella classe Controller?Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA]Implementare e richiamare due metodi in una classe

    Originariamente inviato da tcc
    Salve a tutti.Mi trovo di fronte ad un problema a cui non so darmi risposta.
    Ho una classe Controller a cui e collegata un'interfaccia IQuery con i metodi: buildQuery() ed execQuery(),ed una classe QueryMySql che implementa questa interfaccia.Adesso volev chiedere come devo fare per richiamare questi due metodi nella classe Controller?Grazie
    Nella classe Controller presumo che tu abbia un campo di tipo IQuery. Quindi devi assegnare, in qualche modo, a quel campo un reference ad un oggetto QueryMySql. A quel punto la classe Controller può eseguire le query .... senza dover sapere che l'oggetto che usa è un QueryMySql piuttosto che un QueryOracle o altro. (questo è il bello delle interfacce e in generale del polimorfismo).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313
    cioè in questo modo:

    codice:
    public class Controller {
    
     IQuery query;
     public Controller(){
       query = new QueryMySql();
       query.buildQuery();
       query.execQuery(); 
      
     } 
     
    
    }
    giusto??Grazie

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da tcc
    codice:
    public class Controller {
    
     IQuery query;
     public Controller(){
       query = new QueryMySql();
       query.buildQuery();
       query.execQuery(); 
      
     } 
    }
    giusto??
    Beh, tecnicamente è corretto. Ma il fatto è che Controller sarebbe "legato" a QueryMySql. Cioè non sarebbe più generico nel senso di poter accettare anche altri oggetti che sono dei IQuery.

    codice:
    public class Controller {
        private IQuery query;
    
        public Controller (IQuery query) {
            this.query = query;
        }
    
        // .... altri metodi che usano 'query' ....
    }
    Poi da qualche altra parte:

    Controller c = new Controller (new QueryMySql());
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313
    Ancora una domanda come faccio a chiamare i metodi buildQuery() e exexQuery()???

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313
    buildQuery() e execQuery() sono dei metodi che vengono chiamati alla generazione di un evento,tipo alla pressione di un tasto query,ascoltato proprio da Controller ,quindi in controller mi servirebbe un'altro metodo che ha la stessa funzione del costruttore di CONTROLLER,vista sopra?
    grazie

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.