VB.Net Tutorial/Class Module/Private

Материал из VB Эксперт
Версия от 15:55, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Class with Private fields and Public method

<source lang="vbnet">Imports System

Public Class Time
   " Private variables
   Private Year As Integer
   Private Month As Integer
   Private Hour As Integer
   Private Minute As Integer
   Private Second As Integer
   " Public methods
   Public Sub DisplayCurrentTime( )
      Console.WriteLine("stub for DisplayCurrentTime")
   End Sub "DisplayCurrentTime
End Class "Time
Module Module1
   Sub Main( )
      Dim timeObject As New Time( )
      timeObject.DisplayCurrentTime( )
   End Sub
End Module</source>
stub for DisplayCurrentTime

Private class fields

<source lang="vbnet">Module Tester

  Sub Main()
     Dim time As New CTime() " call CTime constructor
     Console.WriteLine("The initial universal times is: " & _
        time.ToUniversalString() & vbCrLf & _
        "The initial standard time is: " & _
        time.ToStandardString())
     time.SetTime(13, 27, 6) " set time with valid settings
     Console.WriteLine("Universal time after setTime is: " & _
        time.ToUniversalString() & vbCrLf & _
        "Standard time after setTime is: " & _
        time.ToStandardString())
     time.SetTime(99, 99, 99) " set time with invalid settings
     Console.WriteLine("Universal time: " & time.ToUniversalString() & _
        vbCrLf & "Standard time: " & time.ToStandardString())
  End Sub 

End Module

Class CTime

  Inherits Object
  Private mHour As Integer " 0 - 23
  Private mMinute As Integer " 0 - 59
  Private mSecond As Integer " 0 - 59
  Public Sub New()
     SetTime(0, 0, 0)
  End Sub " New
  Public Sub SetTime(ByVal hourValue As Integer, _
     ByVal minuteValue As Integer, ByVal secondValue As Integer)
     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
  Public Function ToStandardString() As String
     Dim suffix As String = " PM"
     Dim format As String = "{0}:{1:D2}:{2:D2}"
     Dim standardHour As Integer
     If mHour < 12 Then
        suffix = " AM"
     End If
     If (mHour = 12 OrElse mHour = 0) Then
        standardHour = 12
     Else
        standardHour = mHour Mod 12
     End If
     Return String.Format(format, standardHour, mMinute, _
        mSecond) & suffix
  End Function 

End Class</source>

The initial universal times is: 0:00:00
The initial standard time is: 12:00:00 AM
Universal time after setTime is: 13:27:06
Standard time after setTime is: 1:27:06 PM
Universal time: 0:00:00
Standard time: 12:00:00 AM

Private members are only available to members of this class

<source lang="vbnet">Public Class SomeClassInMyAssembly

   Private vPrivate As Integer

End Class</source>