|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2007
Messaggi: 27
|
[java] domanda da manuale che non ho ^_^"
Devo fare un progetto in java ma è da parecchio che non lo prendo in mano e non mi ricordo una cosa che mi è fondamentale
Non mi ricordo come si passa una funzione come parametro per un'altra funzione, questione di sintassi facilmente risolvibile libro alla mano ma il libro non ce l'ho al momento quindi mi rivolgo a voiHelp plz T_T |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quando si deve passare un "comportamento" si usano le interfacce o le classi astratte.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Jul 2007
Messaggi: 27
|
devo fare una procedura da richiamare più volte dandogli funzioni diverse che dovrà usare al suo interno, del tipo:
public void programma (p, int[] a) ... p( a ); .. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Definisci una interfaccia con il metodo che ti interessa. Al metodo che deve ricevere un "comportamento" passerai un oggetto che implementa la interfaccia. Ovviamente dovrai fare n classi per ogni operazione diversa.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
AH AH! Stavolta non m'avete fregato!
Stavo scrivendo il solito papiro ma ho avuto l'accortezza di ricontrollare il forum prima di inviare! Concordo, interfaccia. interface Funzione { void compute(int...values); }
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#6 |
|
Junior Member
Iscritto dal: Jul 2007
Messaggi: 27
|
davvero non c'è un metodo più facile e diretto? =/ mi sembra una cosa così seccante per fare una cosa piuttosto comune =/
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Esempio: Codice:
public class Prova
{
public static void main (String[] args)
{
Func somma = new Func () {
public int oper (int a, int b) {
return a + b;
}
};
Func sottrazione = new Func () {
public int oper (int a, int b) {
return a - b;
}
};
System.out.println (eseguiOperazione (somma, 10, 12));
System.out.println (eseguiOperazione (sottrazione, 10, 12));
}
private static int eseguiOperazione (Func f, int a, int b)
{
return f.oper (a, b);
}
}
interface Func
{
int oper (int a, int b);
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#8 |
|
Junior Member
Iscritto dal: Jul 2007
Messaggi: 27
|
grazie a tutti, molto chiaro l'esempio =)
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:38.










quindi mi rivolgo a voi









