Originariamente inviato da r3dd3vil
Mettiamo che io abbia un progetto di un gestionale di automobili quindi all'interno del progetto userò spesso la variabile automobile e le sue proprietà colore,chilometri,anno,data immatricolazione, misura pneumatici ecc.. anche se semplicemente devo prendere dati da un db e associarli a una variabile.... la classe potrebbe aiutarmi a non dover tutte le volte creare nuove variabili ma potrei usare sempre la classe Automobile semplicemente richiamando ad esempio Automobile.colore= oppure Automobile.chilometri= ecc.. giusto ?? ci sto arrivando al concetto??
Direi che ci siamo: ogni macchina sarà un'istanza della classe automobile e per ogni istanza ne riempirai le propriètà con dei dati diversi. Così, se hai due macchine, per tener conto del colore non dovrai più fare così
codice:
Sub Main()
Dim ColoreAuto1 As Color = FromDatabase("ColoreAutoUno")
Dim ColoreAuto2 As Color = FromDatabase("ColoreAutoDue")
'FromDatabase è una routine immaginaria che si occupa di prendere i dati da un database.
'Da quello che è passato per parametro capisci cosa viene restituito.
End Sub
ba bensì così:
codice:
Sub Main()
'Qui facciamo finta che il costruttore della classe Auto inizializzi il colore.
Dim Auto1 as New Auto(FromDatabase("ColoreAutoUno")
Dim Auto2 As New Auto(FromDatabase("ColoreAutoDue")
'E per ricavarne il valore basta usare la sintassi Auto1.Colore.
End Sub
Mi sembra che così sia molto più ordinato a livello logico: infatti invece che avere dieci variabili per ogni macchina sparse per tutto il codice hai una istanza che si riferisce alla macchina in questione e ti basta richiamarne le proprietà.
Un altro esempio: i vari controlli che tu inserisci nei Form sono tutte istanze di classe che vengono automaticamente scritte dal designer dell'IDE.