Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [JAVA] riferimenti incrociati fra oggetti

    salve vi spiego brevemente il mio problema .... innanzitutto scusate la mia immane ignoranza in java

    Ho deciso i fare un programma seguendo lo schema alegato al mesaggio

    Eccovi un piccola e semplificata parte del codice ,giusto per rendere l'idea, postarlo tutto sarebbe troppo complicato:::::

    public class il_main {

    static finestra la_finestra;
    static DBMS il_dbms;
    static BOX il_box;

    public il_main(){

    il_dbms = new DBMS();

    scheda_banco la_scheda_banco = new scheda_banco();
    scheda_magazzino la_scheda_magazzino = new scheda_magazzino();
    scheda_cassa la_scheda_cassa = new scheda_cassa();
    scheda_gestione la_scheda_gestione = new scheda_gestione();

    il_box = new BOX(il_dbms,la_scheda_banco,la_scheda_magazzino,la _scheda_cassa,la_scheda_gestione);

    la_finestra = new finestra(il_dbms,la_scheda_banco,la_scheda_magazzi no,la_scheda_cassa,la_scheda_gestione);
    la_finestra.setDefaultCloseOperation(JFrame.EXIT_O N_CLOSE);
    }// fine costruttore

    public static void main(String[] args) {
    il_main il_il_main = new il_main();
    }// fine main
    }// fine classe

    Quindi ho fatto un classe chiamato il_main che il compito di instanziare i 3 principali oggetti ed eseguire la funzione main appunto

    ho fatto poi altre 3 classi :::::

    finestra che estende JFrame che ha il compito di visualizzare le informazioni
    BOX che ha il compito di coordinare tutte le operazioni e fare calcoli variii
    DBMS che gestisce il collegamento col dbms

    naturalmente nel main ho instanziato gli oggetti corrispondenti :

    i problema e che da un oggetto “ finestra,” devo poter chiamare un metodo di un oggetto BOX
    per comunicagli che l'utente ha inserito un nuovo dato. Ma:
    da un oggetto BOX devo poi poter chiamare un metodo dell'oggetto finestra per passagli i dati da visualizzare dopo averli elaborati .

    D'altronde se passo come parametro un oggetto “ finestra ” al costruttore di un oggetto BOX
    poi non posso fare viceversa .cioè non posso passare all' costruttore dell'oggetto finestra l'oggetto box.

    Se faccio una delle due cose poi non posso fare l' altra .

    Magari la soluzione è un emerita cretinata ma io non ci so no m mica riuscito......

    grazie per qualunque aiuto mi darete ......

    ciauzzz a tutti
    Immagini allegate Immagini allegate
    fra la teoria e la pratica teoricamente non c'è differenza ma praticamente si

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    puoi provare ad estendere le due classi

  3. #3
    dici far diventare l'una la uperlasse dell'altra ??? :master: :master: :master:

    magari ci provo ... pero non mi suona bene , si incasinerebbe un bel pò il codice.

    l'ideale per come ho scritto il programma e che si possano creare
    ogetti che abiano i rispettivi riferimenti.

    cioè come ho già detto , un ogetto BOX che abbia al suo interno un riferimento di un ogetto "finestra" che a sua volta deve avere
    un riferimento all' oggetto BOX di prima ........


    se riuscissi a fare ciò avrei risolto alla grnde........
    fra la teoria e la pratica teoricamente non c'è differenza ma praticamente si

  4. #4
    nessuno mi aiutaaa
    fra la teoria e la pratica teoricamente non c'è differenza ma praticamente si

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    il codice non subisce tante modifiche devi solo aggiungere "implements nomeClasse" dopo il nome della classe che vuoi estendere

  6. #6
    Ci sono riuscito è semplicissimo .............................

    la_finestra = new finestra(il_dbms,la_scheda_banco,la_scheda_magazzi no,la_scheda_cassa,la_scheda_gestione);
    il_box = new BOX(il_dbms,la_finestra);
    la_finestra.set_BOX(il_box);

    non è detto che il riferimento doveva essere passato per il costruttore

    ed allora ho fatto un metodo a parte .........
    che pollo che sono ....... :

    è proprio vero a volte le cose più semplici ti sfuggono.... ben 113 persone al momento in cui srivo hanno letto il mio post ed a nessuno è balzata al' occhio l soluzione ....
    da non credere ....


    grazie mille lo stesso per i suggerimenti ...
    alla prossima .........
    fra la teoria e la pratica teoricamente non c'è differenza ma praticamente si

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    secondo me hai scritto codice inutile....
    io nn intendevo di far passare il riferimento per il costruttore.
    se hai una classe A nella quale vuoi richiamare dei metodi di una classe B, basta che scrivi


    codice:
    public class A extends B { 
    class A(){}
    
    
    }
    le funzioni di B le richiami nei metodi dove vuoi con

    codice:
    B.nomeMetodo()

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 © 2024 vBulletin Solutions, Inc. All rights reserved.