lunedì 17 dicembre 2012

COSTRUTTORI

Costruttore di una classe
Alla base di ogni linguaggio di programmazione orientato agli oggetti c’è il concetto di classe. Le classi di VB .NET mantengono tutte le caratteristiche dei moduli di classe, ma ne aggiungono numerose altre. In prima approssimazione, una classe è una collezione di variabili, metodi e proprietà; è possibile creare una classe usando il costrutto Class:
 
Class esempio
 
    'variabili'
    Dim Nome As String
 
    Public Sub MostraNome()
        '.......'
    End Sub
End Class
 
Una classe è anche un tipo, quindi può essere assegnata ad una variabile. I costruttori sono metodi che vengono automaticamente richiamati quando si crea un’istanza della classe stessa; servono a creare un oggetto, un'istanza materiale della classe. Ogni costruttore, poichè ce ne può essere anche più di uno, è sempre dichiarato usando la keyword New e non può essere altrimenti. Una delle caratteristiche più importanti del costruttore è che esso consente di specificare le proprietà iniziali della classe. Si possono passare parametri al costruttore allo stesso modo di come si passano alle normali procedure o funzioni, specificandoli tra parentesi. Il codice scritto nel costruttore viene eseguito prima di ogni altro metodo nella classe, perciò può anche modificare le variabili read-only (in sola lettura). Anche i moduli possono avere un costruttore e questo viene eseguito prima della procedura Main. Una cosa da tenere bene a mente è che, nonostante New sia eseguito prima di ogni altra istruzione, sia le costanti sia i campi con inizializzatore (ad esempio Dim I As Int32 = 50) sono già stati inizializzati e contengono già il loro valore.
Ricordiamo che il costruttore è una particolare Sub, il cui nome deve obbligatoriamente essere New. Creiamo un costruttore per la classe esempio:

 
Class esempio
    Dim Nome As String
    'variabili'
 
    Sub New(ByVal strNome As String)
        'Imposta le proprietà iniziali'
        Nome = strNome
    End Sub
 
    Public Sub VisualizzaNome()
        '…'
    End Sub
End Class
 
Come possiamo vedere, la routine New prende come argomento la variabile strNome e la assegna alla sua variabile interna Nome.
 
ESEMPIO
 
 
 
 

Nessun commento:

Posta un commento