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