Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-06-2008, 22:12   #1
Re_Kotc
Senior Member
 
L'Avatar di Re_Kotc
 
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
[java] esercizio upcasting e downcasting

Scrivo ancora perchè non capisco proprio degli esercizi apparentemente elementari...uffaaaaa

data una classe concreta A estesa da due classi concrete B e C e dove C è estesa a sua volta dalla classe D:

definite le seguenti variabili

A a1, a2, a3, a4;
B b;
C c1, c2;
D d;

e istanziate così:

a1 = new A() a2 = new B() a3 = new C() a4 = new D();
b = new B();
c1 = new C(), c2 = new D();
d = new D();

quali tra i seguenti assegnamenti sono validi? quali necessitano di casting e quali non sono validi comunque?

b = a3
a1 = c1
a1 = b
b = c2
d = c1
c2 = d
c1 = a3


in particolare il secondo e il quarto assegnamento mi destano qualche perplessità...
grazie mille!
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0
Re_Kotc è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2008, 00:10   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2776
Non so se ho interpretato bene il concetto di assegnazione valida o no. Io interpreto come non valido ciò che non funziona anche se potrebbe compilare.

Anche qui, seppure l'esercizio faccia intrecciare i neuroni, il concetto di base è semplice:
- Tenere presente le relazioni "is a"
- Per assegnare come riferimento a una sottoclasse il valore di un riferimento a una sovraclasse (esempio b=a) è necessario il casting, ma questo è valido solo se a conteneva effettivamente un B.

b = a3
Si potrebbe fare con un cast solo se a3 fosse un'istanza di B, quindi quest'assegnazione non è comunque valida

a1 = c1
Posso farlo senza cast perché c1 essendo dichiarato come un C è anche un A (relazione "is a")

a1 = b
Anche questo posso farlo per lo stesso motivo di prima

b = c2
c2 non è sicuramente un B, quindi non posso farlo

d = c1
c1 contiene un C, quindi non posso farlo, se contenesse un D potrei farlo con un cast

c2 = d
d è anche un C, quindi posso farlo

c1 = a3
a3 contiene effettivamente un C, quindi posso farlo con un cast

Spero di non aver detto caxxate ma a quest'ora sarebbe normale
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2008, 11:02   #3
Re_Kotc
Senior Member
 
L'Avatar di Re_Kotc
 
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
intanto grazie mille per avere risposto a entrambi i miei post purtroppo in questo esercizio ho fatto uguale a te ma secondo le soluzioni che ho il secondo assegnamento non è valido mentre il 4 lo è...sono convinto sia un errore nel riportare le soluzioni...perchè in particolare il 4 non ha nessun senso!
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0
Re_Kotc è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2008, 18:27   #4
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2776
Ciao, per sicurezza ho provato:
Codice:
class A{}
class B extends A{}
class C extends A{}

class Prova{
	public static void main(String[] args){
		A a;
		B b=new B();
		C c=new C();
		a=b;
		//b=c;
	}
}
Questo codice compila ed esegue senza problemi, quindi il secondo è giusto, se togli il commento non compila neanche, quindi il quarto è sbagliato
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2008, 18:50   #5
Re_Kotc
Senior Member
 
L'Avatar di Re_Kotc
 
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
tranqui era la stessa prova che volevo fare io ...grazie mille ora sappiamo di essere dei geni e quegli esercizi hanno i risultati sballati ....grazie ciao!
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0
Re_Kotc è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Alcune partite NBA saranno trasmesse in ...
Intel Core 13000 e 14000 aumentano uffic...
Gemini sta per arrivare in Google Maps: ...
2 minuti per vedere le 27 offerte imperd...
Ray-Ban Meta Display: tecnologia sorpren...
Un mini PC a prezzo stracciato, non cerc...
Al via i coupon nascosti di ottobre: qua...
Ferrari Elettrica si aggiorna solo in of...
Doppio sconto sugli smartphone top Xiaom...
Samsung è sempre più prota...
ChatGPT ha pregiudizi politici? Ecco cos...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
Il Motorola Edge 70 non ha più se...
Alcuni Galaxy S26 utilizzeranno il chip ...
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: 15:31.


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