AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Problema accesso a metodi di classi diverse

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian)
View previous topic :: View next topic  
Author Message
Oxy
Guest





PostPosted: Sat Sep 27, 2003 9:13 am    Post subject: Problema accesso a metodi di classi diverse Reply with quote



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





PostPosted: Sat Sep 27, 2003 10:11 am    Post subject: Re: Problema accesso a metodi di classi diverse Reply with quote




"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





PostPosted: Sat Sep 27, 2003 10:29 am    Post subject: Re: Problema accesso a metodi di classi diverse Reply with quote



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 Smile
Ora vado a vedere...
Ciao

Quote:

--
Domenico Testa - Studente





Back to top
The Law of Lorentz
Guest





PostPosted: Sat Sep 27, 2003 11:13 am    Post subject: Re: Problema accesso a metodi di classi diverse Reply with quote


"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





PostPosted: Sat Sep 27, 2003 2:04 pm    Post subject: Re: Problema accesso a metodi di classi diverse Reply with quote

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 Smile)))))



Back to top
Oxy
Guest





PostPosted: Sat Sep 27, 2003 2:04 pm    Post subject: Re: Problema accesso a metodi di classi diverse Reply with quote


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 Sad
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
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.