| View previous topic :: View next topic |
| Author |
Message |
Oxy Guest
|
Posted: Sat Sep 27, 2003 9:13 am Post subject: Problema accesso a metodi di classi diverse |
|
|
Premesso che non sono uno studente ne un programmatore
ma solo un "utilizzatore" di Java poco esperto.
Vorrei che il metodo B accedesse ad un metodo della classe
principale ma "normalmente" e' possibile sole se questo e "static"
come posso aggirare il problema ?
Oppure in alternativa vorrei che la classe principale si accorgesse del
cambiamento di una variabile di "prova", come si puo' fare ?
L'unico modo che mi viene in mente (ma non sono un esperto)
e' : usare un thread che controlli continuamente la variabile ma
non sara' uno spreco di risorse considerando che gia' ne consumo
moltissime (nel programma vero non nel test) ???
////////////////////////////////////////////////////////////
public class testclassi {
prova prova =new prova();
public static void main(String[] args) { }
static void A(){ }
}
class prova{
int n;
void B(){ if(n==10) testclassi.A(); }// possibile solo se A "static"
}
////////////////////////////////////////////////////////////
Ringrazio per qualsiasi contributo.
|
|
| Back to top |
|
 |
Domenico Testa Guest
|
Posted: Sat Sep 27, 2003 10:11 am Post subject: Re: Problema accesso a metodi di classi diverse |
|
|
"Oxy" <eg6 (AT) lahonda (DOT) it> ha scritto nel messaggio
news:Nwcdb.351255$Ny5.11183281 (AT) twister2 (DOT) libero.it...
| Quote: | Vorrei che il metodo B accedesse ad un metodo della classe
principale ma "normalmente" e' possibile sole se questo e "static"
come posso aggirare il problema ?
Oppure in alternativa vorrei che la classe principale si accorgesse del
cambiamento di una variabile di "prova", come si puo' fare ?
L'unico modo che mi viene in mente (ma non sono un esperto)
e' : usare un thread che controlli continuamente la variabile ma
non sara' uno spreco di risorse considerando che gia' ne consumo
moltissime (nel programma vero non nel test) ???
|
La tue esigenza sembra quella di reinventare il pattern Observer ->
Observable.
In java viene implementato tramite l'utilizzo di una classe ed
un'interfaccia che trovi nel package
java.util: Observer ed Observable.
--
Domenico Testa - Studente
|
|
| Back to top |
|
 |
Oxy Guest
|
Posted: Sat Sep 27, 2003 10:29 am Post subject: Re: Problema accesso a metodi di classi diverse |
|
|
| Quote: |
La tue esigenza sembra quella di reinventare il pattern Observer -
Observable.
In java viene implementato tramite l'utilizzo di una classe ed
un'interfaccia che trovi nel package
java.util: Observer ed Observable.
Grazie Domenico. |
Non voglio reinventarlo.. e' solo che non ne conoscevo l'esistenza
anche se immaginavo che "qualcosa" dovesse esserci
Ora vado a vedere...
Ciao
| Quote: |
--
Domenico Testa - Studente
|
|
|
| Back to top |
|
 |
The Law of Lorentz Guest
|
Posted: Sat Sep 27, 2003 11:13 am Post subject: Re: Problema accesso a metodi di classi diverse |
|
|
"Oxy" <eg6 (AT) lahonda (DOT) it> wrote
| Quote: | Premesso che non sono uno studente ne un programmatore
ma solo un "utilizzatore" di Java poco esperto.
...
public class testclassi {
prova prova =new prova();
public static void main(String[] args) { }
static void A(){ }
}
class prova{
int n;
void B(){ if(n==10) testclassi.A(); }// possibile solo se A "static"
}
////////////////////////////////////////////////////////////
Ringrazio per qualsiasi contributo.
|
Un' altra soluzione è:
public class TestClassi
{
// Preferisco inizializzare le classi come provate, se ti serve
dischiarale public
private Prova prova = null;
public TestClassi()
{
//Con l'operatore this passo il riferimento di TestClassi alla classe
Prova
prova =new Prova(this);
}
public static void main(String[] args)
{
new TestClassi();
}
public void A(){ }
}
class Prova
{
TestClassi testClassi = null;
int n = 0 ;
public Prova(TestClassi test)
{
this.testClassi = test;
}
void B()
{
if(n==10) testClassi.A();
}
}
Mi raccomando alla maiuscole e minuscole (per esempio: "> prova prova
=new prova();" è un errore in quanto il compilatore non distingue la
variabile dalla classe).
Ciao
|
|
| Back to top |
|
 |
Oxy Guest
|
Posted: Sat Sep 27, 2003 2:04 pm Post subject: Re: Problema accesso a metodi di classi diverse |
|
|
| Quote: | Un' altra soluzione è:
MITICO!!!!!! |
Non hai idea di come il tuo esempio mi sara' utile, ora potro'
suddividere il programma in classi diversi non annidate e con un sorgente
di 530KB e' veramente utile!!
Accidenti, perche' non l'ho chiesto prima!?
GRAZIE )))))
|
|
| Back to top |
|
 |
Oxy Guest
|
Posted: Sat Sep 27, 2003 2:04 pm Post subject: Re: Problema accesso a metodi di classi diverse |
|
|
| Quote: | La tue esigenza sembra quella di reinventare il pattern Observer -
Observable.
In java viene implementato tramite l'utilizzo di una classe ed
un'interfaccia che trovi nel package
java.util: Observer ed Observable.
Il mio manuale IT non dice nulla sull'uso diObserver >observable |
e complice il mio scarsissimo inglese non ho capito come si usa
Se magari ci fosse un micro esempio... sarei grato:)
Cmq considerando che il mio scopo e comunicare un evento alla
classe pricipale l'esempio di "theLawOfLorentz" mi sembra perfetto!...
Ci sono controindicazioni ?
Grazie
Ciao
| Quote: |
--
Domenico Testa - Studente
|
|
|
| Back to top |
|
 |
|