PDA

View Full Version : [Java] Un problema semplice... credo


xoxoxo1
07-01-2011, 18:31
Il problema è piuttosto semplice: ho una classe contenente un certo metodo, e voglio invocarlo in un'altra.
Qual è la sintassi corretta ? :mc:

dojolab
07-01-2011, 18:33
Il problema è piuttosto semplice: ho una classe contenente un certo metodo, e voglio invocarlo in un'altra.
Qual è la sintassi corretta ? :mc:

Devi ereditare la classe...

xoxoxo1
07-01-2011, 18:34
Devi ereditare la classe...

Ovvero ? *niubbo

xoxoxo1
07-01-2011, 18:39
Mi da cannot find symbol
symbol : variable var
location: class Classe
var.print();

dojolab
07-01-2011, 18:46
Ovvero ? *niubbo

Se tu vuoi usare il metodo A1, della Classe A nella classe B devi ereditare la classe A da B, ovvero

Class B extends A

cosi facendo erediti tutti gli attributi e i metodi della classe A in B.

Alternativa è istanziare la classe A in B ma non so se Java lo permette (avresti un'istanza annidata in un'altra istanza); lascio la parola per questa soluzione a chi ne sa più di me su Java.

L'ereditarietà è alla base della OOP e di Java stesso.
Per l'errore pubblicato è difficile così su due piedi, senza vedere il codice.

ndakota
07-01-2011, 19:12
Il problema potrebbe essere molto più semplice. Se si tratta di un metodo statico basta fare

NomeClasse.nomeMetodo(eventualiParametri);

dojolab
07-01-2011, 19:31
Il problema potrebbe essere molto più semplice. Se si tratta di un metodo statico basta fare

NomeClasse.nomeMetodo(eventualiParametri);

Vero, ottima anche questa soluzione. Io tendo ad evitare i metodi statici per quello non mi era balzata in testa! :)

Shinnok.Exor
07-01-2011, 20:04
Il problema è piuttosto semplice: ho una classe contenente un certo metodo, e voglio invocarlo in un'altra.
Qual è la sintassi corretta ? :mc:

Se non vuoi ereditarla, basta istanziarla.

class A {
public A () {
B ist = new B();
ist.metodoDaChiamare();
}
}

class B {
public void metodoDaChiamare() {}
}

cdere
07-01-2011, 21:42
in questi casi a parer mio è d'obbligo un semplice RTFM, metto una diapositiva per xoxoxo1, tante volte non sa come si fa..

http://img5.photobucket.com/albums/v22/pandora_noir/rtfm.jpg

Pipppos
07-01-2011, 23:16
Beh ragazzo, la domanda che hai posto implica che ti mancano le basi della programmazione a oggetti.
Quindi come ti hanno consigliato dai una bella spolverata ai concetti base.
Per fare quello che chiedi bisogna sapere com'è fatto il metodo che devi chiamare, come lavora e cosa fà, in genere basta instanziare un oggetto della classe e utilizzarne il metodo, ma come detto prima dipende da cosa fà quel metodo.