maurogsc.eu
|
![]() |
home ==> vbscript ==> Classi - Creare una classe e derivare oggetti
Classe - Creare una classe
e derivare oggetti
Situazione.
Vogliamo creare un ed utilizzare una classe in un file .vbs.
Nota.
Il codice dell'esempio scaricabile
a questo link
è commentato e nella cartella in formato .zip è contenuto
un file .vbs.
Utilizzare gli esempi forniti o files di test per le vostre prove.
Alcune indicazioni su come creare un
file .vbs le trovate qui.
1 - Come si crea una classe in vbs.
Così si crea una classe in vbs:
Class miaClasse
'
'codice
'
End Class
2 - Come creare una istanza della classe.
Una volta creata una classe, derivarne un oggetto(crearne una istanza) è
semplice:
Class miaClasse
'
'codice
'
End Class
Set obj = New miaClasse
'
'codice
'
Set obj = Nothing
3 - Aggiungiamo eventi alla classe.
Andiamo ad aggiungere gli eventi Initialize e Terminate alla classe:
Class miaClasse
Private Sub Class_Initialize()
MsgBox "Evento Initialize"
End Sub
Private Sub Class_Terminate()
MsgBox "Evento Terminate"
End Sub
End Class
Set obj = New miaClasse
'
'codice
'
Set obj = Nothing
Salvando e lanciando il file, vedremo le due MsgBox che ci avvertono della creazione e distruzione dell'oggetto.
4 - Campi(variabili), proprietà, metodi e funzioni.
Andiamo ad aggiungere campi(variabili), proprietà, metodi e funzioni alla
classe:
'creazione classe
Class miaClasse
'campo(variabile) interno alla classe
Dim d
'evento Initialize della classe
Private Sub Class_Initialize()
MsgBox "Evento Initialize"
End Sub
'proprietà Let che porta valorizza il campo(variabile) d
Public Property Let miaProperty(ByVal v)
d = v
End Property
'proprietà Get che restituisce il valore del campo(variabile) d
Public Property Get miaProperty()
miaProperty = d
End Property
'metodo che elabora il valore del campo(variabile) d
Public Sub mioMetodo()
d = d * 10
End Sub
'funzione che restituisce il cubo del valore passato
Public Function mioCubo(v)
mioCubo = v ^ 3
End Function
'evento Terminate della classe
Private Sub Class_Terminate()
MsgBox "Evento Terminate"
End Sub
End Class
'dichiaro le variabili
Dim vs
'passo alla variabile il valore inserito nella InputBox
vs = InputBox ("Inserire un valore numerico", "Attenzione")
'gestione errori
On Error Resume Next
'se il valore di vs è inserito
If vs <> "" Then
'Set della nuova istanza della classe
Set obj = New miaClasse
'passo il dato all'oggetto
obj.miaProperty = vs
'elaboro il dato passato all'oggetto
obj.mioMetodo
'se non c'è errore
If err.Number = 0 then
'recupero il dato elaborato dall'oggetto
MsgBox obj.miaProperty
'utilizzo la funzione mioCubo() dell'oggetto
MsgBox obj.mioCubo(vs)
End If
'Set a Nothing dell'oggetto
Set obj = Nothing
End if
Per ulteriori informazioni sui Vbscript utilizzate questo forum:
http://social.msdn.microsoft.com/Forums/it-IT/vbseiit/threads
Ultimo aggiornamento di questa pagina: 20/12/2010 - mauro gamberini