Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-04-2006, 13:42   #1
carMAN
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"
carMAN è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 14:01   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da carMAN
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.
No, così non è possibile. Se ci pensi un attimo, un oggetto Figlio potrebbe essere creato in qualunque altro modo e in qualunque altro punto!

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%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 14:03   #3
cisc
Senior Member
 
L'Avatar di cisc
 
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
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 14:12   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da cisc
al limite puoi rendere Figlio una inner class non statica di Padre, e riferirti all'oggetto padre in questione come Padre.this
concordo con cisc.
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%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 14:14   #5
carMAN
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"
carMAN è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 14:30   #6
cisc
Senior Member
 
L'Avatar di cisc
 
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
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 14:32   #7
fek
Senior Member
 
L'Avatar di fek
 
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;
  }
}
fek è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 14:34   #8
carMAN
Senior Member
 
Iscritto dal: Oct 2000
Messaggi: 432
Quote:
Originariamente inviato da fek
Codice:
class A
{
  public A()
  {
     B b = new B(this);
  }
}

class B
{
  private Object parent;

  public B(Object parent)
  {
     this.parent = parent;
  }
}
La firma del figlio (B) non può essere cambiata.
Grazie per l'aiuto.
__________________
"Nulla deve essere temuto nella vita.
Deve solo essere compreso"
Marie Courie

"Compilatio non petita, bacarozio manifesta"
carMAN è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 14:45   #9
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da carMAN
La firma del figlio (B) non può essere cambiata.
Grazie per l'aiuto.
Perche'? Non hai accesso al codice di B?
fek è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 14:50   #10
carMAN
Senior Member
 
Iscritto dal: Oct 2000
Messaggi: 432
Quote:
Originariamente inviato da cisc
aspetta...i padri di figlio sono moltissimi..in che senso...dal codice che hai scritto sta cosa sembra impossibile..
Praticamente ci sono tante classi che instanziano un oggetto di tipo figlio
__________________
"Nulla deve essere temuto nella vita.
Deve solo essere compreso"
Marie Courie

"Compilatio non petita, bacarozio manifesta"
carMAN è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 14:54   #11
carMAN
Senior Member
 
Iscritto dal: Oct 2000
Messaggi: 432
Quote:
Originariamente inviato da fek
Perche'? Non hai accesso al codice di B?
si, ma essendo il progetto molto grosso, con posso cambiare tutto il codice che ho già scritto
__________________
"Nulla deve essere temuto nella vita.
Deve solo essere compreso"
Marie Courie

"Compilatio non petita, bacarozio manifesta"
carMAN è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 15:02   #12
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da carMAN
si, ma essendo il progetto molto grosso, con posso cambiare tutto il codice che ho già scritto
Se usi Eclipse (o equivalente), apri il menu di refactor, scegli "Change signature", cambia la signature del costruttore e passa this come parametro di default. Eclipse aggiornera' tutti i riferimenti da solo.

Se non usi Eclipse (o equivalente), usa Eclipse.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 15:07   #13
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
Quote:
Originariamente inviato da carMAN
Praticamente ci sono tante classi che instanziano un oggetto di tipo figlio
si, quindi ogni istanza di figlio ha un padre, e puoi usare tranquillamente le inner class
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 15:11   #14
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da carMAN
Praticamente ci sono tante classi che instanziano un oggetto di tipo figlio
Scusa, fammi capire. Hai una cosa del tipo:
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%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 15:16   #15
carMAN
Senior Member
 
Iscritto dal: Oct 2000
Messaggi: 432
Quote:
Originariamente inviato da andbin
Scusa, fammi capire. Hai una cosa del tipo:
Codice:
Class Padre1 {
    Public Padre1() {
        Figlio f = new Figlio();
    }
} 

Class Padre2 {
    Public Padre2() {
        Figlio f = new Figlio();
    }
}

ecc....

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"
carMAN è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 15:16   #16
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
Quote:
Originariamente inviato da andbin
Scusa, fammi capire. Hai una cosa del tipo:
Codice:
Class Padre1 {
    Public Padre1() {
        Figlio f = new Figlio();
    }
} 

Class Padre2 {
    Public Padre2() {
        Figlio f = new Figlio();
    }
}

ecc....
vabbè, se la situazione è questa, l'unica soluzione decente mi sembra sia quella di fek..
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 15:22   #17
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da carMAN
esatto!!!
Allora le inner class dimenticale perché non sono utilizzabili. L'unica possibilità è quella di aggiungere un parametro (Padre) al costruttore di Figlio e modificare in tutti i punti l'istanziazione dell'oggetto Figlio.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 15:41   #18
carMAN
Senior Member
 
Iscritto dal: Oct 2000
Messaggi: 432
Quote:
Originariamente inviato da fek
Se usi Eclipse (o equivalente), apri il menu di refactor, scegli "Change signature", cambia la signature del costruttore e passa this come parametro di default. Eclipse aggiornera' tutti i riferimenti da solo.

Se non usi Eclipse (o equivalente), usa Eclipse.
Possibile!!!!
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"
carMAN è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 16:10   #19
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da carMAN
Possibile!!!!
Con la reflection non si può fare nulla?
Nulla di cui sia lecito parlare in pubblica e di piu' non domandare

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.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 16:22   #20
carMAN
Senior Member
 
Iscritto dal: Oct 2000
Messaggi: 432
Quote:
Originariamente inviato da fek
.... Ci vuole davvero meno che scrivere questo post.
sicuramente...
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"
carMAN è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Anthropic ha un'AI che trova falle in Wi...
I 10 migliori sconti Amazon del weekend:...
Con un coupon scendono ancora: le super ...
Minimo storico per Samsung Galaxy S26 Ul...
Si è conclusa la missione lunare ...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Multe fino a 400 euro anche se hai pagat...
Tapo lancia una valanga di offerte su Am...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v