|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jan 2006
Città: Agrigento
Messaggi: 18
|
[java] Ereditarietà
Salve a tutti, ho un problema che nn riesco a risolvere:
Date le classi public class padre { ... public mioMetodo() { ... } } public class figlio1 extends padre { public static String colore ="Rosso"; } public class figlio1 extends padre { public static String colore ="Verde"; } come posso scrivere il metodo mioMetodo() nella classe padre in modo tale che quando viene chiamato da uno dei figli acceda alla variabile statica del figlio. In patrica il padre non ha e non deve avere la variabile statica colore mentre tutti i figli si ed essendo statica sarò diversa da ogni classe figlio che eredita padre. Il mio problema è che voglio accedere a queste variabili statiche dei figli da un metodo dichiarato nella classe padre e che quindi verrà ereditato da tutti i filgli. Dovrei fare ad esempio una cosa del genere. public class padre { ... public mioMetodo() { System.out.println(colore); // colore nn è dichiarata e non deve essere dichiarata in padre però so che tutti i figli la dichiareranno } } public class figlio1 extends padre { public static String colore ="Rosso"; } public class figlio2 extends padre { public static String colore ="Verde"; } public class Test { public static void main(String[] args) { figlio1 f1=new figlio1(); figlio2 f2=new figlio2(); figlio1.mioMetodo() //deve stampare rosso figlio2.mioMetodo() //deve stampare verde } } grazie |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Sep 2004
Città: 'ngopp 'o Vesuvih
Messaggi: 166
|
Ma perchè non la passi come parametro?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Nelle classi derivate da padre metti un override di mioMetodo che sia "specializzato" per fare quello che vuoi. Ti va bene??
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
|
Quote:
classico esempio di ereditarietà e funzioni virtuali. il padre deve avere una funzione virtuale che poi i figli definiranno. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:56.



















