Buongiorno a tutti.
Mi sono cimentato da poco su VB.net (ma ho esperienza in ASP), e c'è un punto che ancora non sono riuscito a capire: quando è utile usare le strutture al posto delle classi? in quali casi specifici?
Grazie a chi mi risponderà
Buongiorno a tutti.
Mi sono cimentato da poco su VB.net (ma ho esperienza in ASP), e c'è un punto che ancora non sono riuscito a capire: quando è utile usare le strutture al posto delle classi? in quali casi specifici?
Grazie a chi mi risponderà
le strutture sono molto più performanti delle classi, il loro limite e che possono avere una grandezza massima di 16 Bytes, vengono utilizzate quando è necessario gestire un piccolo gruppo di informazioni da portarsi dietro, l'esempio (da certificazione microsoft) più utilizzato è un "Punto" sul piano (precisamente System.Drawing.Point), questa è una struttura con due variabili: X,Y; Non sarebbe stata una buona idea creare una classe per gestire queste 2 informazioni in quanto davvero "eccessiva e costosa in termini di performance" rispetto alla prima soluzione.
Una classe và utilizzata quando abbiamo a che fare con modelli complessi che devono ospitare anche metodi e quant'altro.
Cmq evitando di fare un copia incolla generale, io ti consiglio di leggere questo articolo (breve ma molto chiaro):
http://msdn.microsoft.com/it-it/library/2hkbth2a(VS.90).aspx
![]()
Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
DOT.NET Addicted since 2006 (My Blog)
Grazie.
Sì, quel link lo avevo già letto, ma non è attualmente ancora molto chiaro per me.
Provengo da anni di programmazione procedurale (ASP), e adesso sto imparando piano piano concetti dell OO.
Beh, ho capito quello che mi dici, l'unico dubbio che mi viene è: e se poi in futuro quella data struttura mi servirà ampliarla per vari motivi....mi mangerò le mani di non aver costruito una classe?
se quella struttura, che ritenevi cosi semplice da poter essere sviluppata come tale, prevede un possibile ampliamento per il futuro il problema non si pone, basterà semplicemente sostituire a "struct" "class" ed è fatto
Come potrai notare si differenziano solo per la dichiarazione iniziale del tipo (proprio struct e class), cambiando questa proprietà puoi switchare molto facilmente tra le due senza problemi. Quindi tranquillo, non ti mangerai le mani! :-P
L'importante è lavorare con "buon senso".
Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
DOT.NET Addicted since 2006 (My Blog)
ok ho capito, grazie mille![]()