|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | ||
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
[Java]Problema Ereditarietà!!....ho bisogno del vostro aiuto!
Ciao a tutti!
Per la realizzazione di un progetto universitario necessito della realizzazione di una classe java che possa avere dei metodi risiedenti su un'altra classe. Poichè le variabili istanza della classe 'Principale' sono privati, la classe 'Secondaria' dovrà avervi accesso usando dei metodi propri della classe 'Principale'. Tutto questo serve per la realizzazione di un calcolatore binario che deve dare l'opportunità all'utente finale di aggiungere delle operazioni specifiche. Quote:
Quote:
Il problema è che la classe 'Calc' richiama perfettamente la classe 'Operazioni' e i suoi metodi, ma i valori dei campi istanza della classe 'Calc' che è in esecuzione non vengono modificati!!!!!!! C'è qualcuno in grado di aiutarmi...??
Ultima modifica di Voltron : 31-10-2005 alle 12:51. |
||
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
|
Ciao,
Non mi è ben chiaro quali e quante classi hai in esecuzione in un dato momento... Quando istanzi un Operazione essa "contiene" (per usare un termine bruttissimo) un Calc con tutte le sue variabili istanza... tali variabili vengono modificate con i metodi Get e Set che hai scritto nella classe di base... Posta, casomai, il codice del main che utilizza la classe in questione... magari troviamo più agevolmente il problema... PS: Visto che anche i metodi vengono ereditati da Operazione (e non vengono ridefiniti) non è necessario specificare super. Ciaociao
__________________
Venite a visitarci qui:http://www.bottomap.com Bottomap is a proud Masterdrive.it moderator |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
Ciao!
Bè, postare il codice ufficiale del main è un problemino....poichè il programma "vero" è incapsulato nel suo frontend! Comunque ci provo!....: QUESTO è IL CODICE DELLA CLASSE PRINCIPALE: Quote:
|
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
Questo è il codice della classe contenenti i metodi che devono modificare i valori dei campi istanza della classe pricipale:
Quote:
|
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
|
Ciao,
"A naso" il problema sta qui: public void Get_Metodo(String x) { Operazioni op = new Operazioni(); op.start(x); } Questa funzione della classe base crea un nuovo oggetto operazioni (che "contiene", come detto) una classe base... l'oggetto in questione è completamente scollegato dalla classe chiamante... per cui le variabili istanza che vengono modificate sono quelle di op, e non quelle della classe chiamante. Dopo op.start probabilmente, se vuoi mantenere questa struttura del programma, dovrai copiare nelle variabili della classe quelle di op... var1=op.var1, var2=op.var2, eccetera... Ciaociao
__________________
Venite a visitarci qui:http://www.bottomap.com Bottomap is a proud Masterdrive.it moderator |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2004
Messaggi: 727
|
Hai perfettamente centrato il problema!
Inoltre il programma in questione è quasi ultimato e quindi non ho modo di rimodificarne la struttura per ridefinire un'ereditarietà più "ortodossa"! Quindi metterò dei valori di ritorno dalla casse Operazioni alla Kernel_Calc. Comunque, a titolo informativo, quale dovrebbe essere la struttura 'corretta' per realizzare l'ereditarietà del mio programma? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:36.



















