|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
[JAVA] per veri esperti...
Secondo voi si può fare qualcosa del genere?
Class Padre { Public Padre() { Figlio f = new Figlio(); } } Class Figlio { Private Object chiamante; public Figlio() { This.chiamante = {un riferimento al Padre che ha creato il figlio} } } non è possibile cambiare la firma del costruttore del figlio. Grazie per l'aiuto ciao
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
La firma del costruttore di Figlio dici che non la puoi cambiare. O non la vuoi cambiare?? Non puoi mettere magari un secondo costruttore in overload di Figlio che prenda come parametro un Padre?
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
concordo con andbin, al limite puoi rendere Figlio una inner class non statica di Padre, e riferirti all'oggetto padre in questione come Padre.this
__________________
GNU MyServer Wants YOU!! We live thinking we will never die. We die thinking we had never lived. Jason Becker |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Io in effetti non l'ho proposto perché non so come e cosa devi fare di preciso ma una inner class non static potrebbe essere l'ideale.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
I padri di figlio sono moltissimi (molte classi diverse).
Praticamente ho necessità che il figlio conosca il padre che lo ha generato. Con la reflection non si può fare nulla?
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
aspetta...i padri di figlio sono moltissimi..in che senso...dal codice che hai scritto sta cosa sembra impossibile..
__________________
GNU MyServer Wants YOU!! We live thinking we will never die. We die thinking we had never lived. Jason Becker |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Codice:
class A
{
public A()
{
B b = new B(this);
}
}
class B
{
private Object parent;
public B(Object parent)
{
this.parent = parent;
}
}
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Quote:
Grazie per l'aiuto.
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Quote:
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Quote:
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Se non usi Eclipse (o equivalente), usa Eclipse.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
Quote:
__________________
GNU MyServer Wants YOU!! We live thinking we will never die. We die thinking we had never lived. Jason Becker |
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
Class Padre1 {
Public Padre1() {
Figlio f = new Figlio();
}
}
Class Padre2 {
Public Padre2() {
Figlio f = new Figlio();
}
}
ecc....
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Quote:
esatto!!! e il figlio deve sapere quale padre lo ha chiamato.
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
|
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
Quote:
__________________
GNU MyServer Wants YOU!! We live thinking we will never die. We die thinking we had never lived. Jason Becker |
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Quote:
Con la reflection non si può fare nulla?
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
No, puoi solo interrogare i metadati di una classe, non la sua storia. L'unica soluzione e' cambiare il costruttore e farti aiutare da un tool di refactoring. Ci vuole davvero meno che scrivere questo post.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Quote:
ma è più per curiosità ...diciamo un esercizio teorico...... che mi sa purtroppo rimanere inrisolto.... ciao ciao
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:58.



















