JavascriptProva

lunedì 21 maggio 2012

Overloading dei costruttori in VB.NET

Adesso creo un costruttore con parametri.
Public Class Form1


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim QuestaClasse As New MiaClasse(45678, "Ciao, Bestia")
        QuestaClasse.Mostra()

    End Sub
End Class

Class MiaClasse
    Public proprieta As Integer
    Dim frase As String
    Public Sub New(ByVal a, ByVal b)
        proprieta = a
        frase = b
    End Sub

    Public Sub Mostra()
        MsgBox(proprieta & " " & frase)
    End Sub
End Class
...che funziona:



Dunque non è necessario avere contemporaneamente un costruttore di default esplicitamente dichiarato, se è presente un costruttore con parametri, come invece è in C++.
Ora creo anche il costruttore di default:
Public Class Form1


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim QuestaClasse As New MiaClasse(45678, "Ciao, Bestia")
        QuestaClasse.Mostra()
        Dim AltraClasse As New MiaClasse
        AltraClasse.Mostra()

    End Sub
End Class

Class MiaClasse
    Public proprieta As Integer
    Dim frase As String

    Public Sub New()
        proprieta = 23
        frase = "Sei un cretino"
    End Sub
    Public Sub New(ByVal a, ByVal b)
        proprieta = a
        frase = b
    End Sub

    Public Sub Mostra()
        MsgBox(proprieta & " " & frase)
    End Sub
End Class
...e funzionano tutti e due:





Bene, bene...

Nessun commento:

Posta un commento