It is possible to initialize the values of member variables with an initializer, instead of having to do so in the constructor. You create an initializer by assigning an initial value to a class member:
Private second As Integer = 30
Assume that the semantics of the Time object are such that no matter what time is set, the seconds are always initialized to 30. You might rewrite your Time class to use an initializer so that the value of Second is always initialized, as shown in Example 5-6.
Option Strict On
Imports System
Public Class Time
' Private variables
Private year As Integer
Private month As Integer
Private date As Integer
Private hour As Integer
Private minute As Integer
Private second As Integer = 30
' Public methods
Public Sub DisplayCurrentTime( )
Console.WriteLine("{0}/{1}/{2} {3}:{4}:{5}", _
month, date, year, hour, minute, second)
End Sub 'DisplayCurrentTime
Public Sub New( _
ByVal theYear As Integer, _
ByVal theMonth As Integer, _
ByVal theDate As Integer, _
ByVal theHour As Integer, _
ByVal theMinute As Integer)
year = theYear
month = theMonth
date = theDate
hour = theHour
minute = theMinute
End Sub
End Class 'Time
Module Module1
Sub Main( )
Dim timeObject As New Time(2005, 3, 25, 9, 35)
timeObject.DisplayCurrentTime( )
End Sub
End Module
Output:
3/25/2005 9:35:30
If you do not provide a specific initializer, the constructor will initialize each integer member variable to zero (0). In the case shown, however, the Second member is initialized to 30:
Private second As Integer = 30
|
|
| Top |