Overloaded constructors : Constructor « Class Module « VB.Net Tutorial






Module Tester

   Sub Main()

      ' use overloaded constructors
      Dim time1 As New MyTime()
      Dim time2 As New MyTime(2)
      Dim time3 As New MyTime(21, 34)
      Dim time4 As New MyTime(12, 25, 42)
      Dim time5 As New MyTime(27, 74, 99)
      Dim time6 As New MyTime(time4) ' use time4 as initial value

      Console.WriteLine(time1.ToUniversalString() )

      Console.WriteLine(time2.ToUniversalString() )

      Console.WriteLine(time3.ToUniversalString())

      Console.WriteLine(time4.ToUniversalString())

      Console.WriteLine(time5.ToUniversalString())

      Console.WriteLine(time6.ToUniversalString())

   End Sub ' Main

End Module 

Class MyTime
   Inherits Object

   Private mHour As Integer   ' 0 - 23
   Private mMinute As Integer ' 0 - 59
   Private mSecond As Integer ' 0 - 59

   Public Sub New()
      SetTime()
   End Sub ' New

   Public Sub New(ByVal hourValue As Integer)
      SetTime(hourValue)
   End Sub ' New

   Public Sub New(ByVal hourValue As Integer, _
      ByVal minuteValue As Integer)

      SetTime(hourValue, minuteValue)
   End Sub ' New

   Public Sub New(ByVal hourValue As Integer, _
      ByVal minuteValue As Integer, ByVal secondValue As Integer)

      SetTime(hourValue, minuteValue, secondValue)
   End Sub ' New

   Public Sub New(ByVal timeValue As MyTime)
      SetTime(timeValue.mHour, timeValue.mMinute, timeValue.mSecond)
   End Sub ' New

   Public Sub SetTime(Optional ByVal hourValue As Integer = 0, _
      Optional ByVal minuteValue As Integer = 0, _
      Optional ByVal secondValue As Integer = 0)

      If (hourValue >= 0 AndAlso hourValue < 24) Then
         mHour = hourValue
      Else
         mHour = 0
      End If

      If (minuteValue >= 0 AndAlso minuteValue < 60) Then
         mMinute = minuteValue
      Else
         mMinute = 0
      End If

      If (secondValue >= 0 AndAlso secondValue < 60) Then
         mSecond = secondValue
      Else
         mSecond = 0
      End If

   End Sub ' SetTime

   Public Function ToUniversalString() As String
      Return String.Format("{0}:{1:D2}:{2:D2}", _
         mHour, mMinute, mSecond)
   End Function ' ToUniversalString

End Class
0:00:00
2:00:00
21:34:00
12:25:42
0:00:00
12:25:42








6.30.Constructor
6.30.1.Class with constructor
6.30.2.Empty constructor
6.30.3.Default constructor
6.30.4.Copy constructor
6.30.5.Constructors in three levels
6.30.6.Overloaded constructors
6.30.7.Call member method in constructor
6.30.8.Private Constructor
6.30.9.Inheriting Constructors
6.30.10.Shared Constructor
6.30.11.Constructor with Optional parameter
6.30.12.Constructor Chain
6.30.13.constructor inheriting