VB.Net Tutorial/Class Module/Protected

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

Protected Members

<source lang="vbnet">Module Tester

  Sub Main()
     Dim circle As Circle
     circle = New Circle(37, 43, 2.5) " instantiate Circle
     Console.WriteLine("X coordinate is " & circle.X & vbCrLf & _
        "Y coordinate is " & circle.Y & vbCrLf & "Radius is " & _
        circle.Radius)
     circle.X = 2
     circle.Y = 2
     circle.Radius = 4.25
     Console.WriteLine("The new location and radius of circle are " & _
        vbCrLf & circle.ToString())
     Console.WriteLine("Diameter is " & _
        String.Format("{0:F}", circle.Diameter()))
     Console.WriteLine("Circumference is " & _
        String.Format("{0:F}", circle.Circumference()))
     Console.WriteLine("Area is " & String.Format("{0:F}", circle.Area()))
  End Sub " Main

End Module

Public Class Point

  Protected mX, mY As Integer
  Public Sub New()
     X = 0
     Y = 0
  End Sub " New
  Public Sub New(ByVal xValue As Integer, _
     ByVal yValue As Integer)
     X = xValue
     Y = yValue
  End Sub " New
  Public Property X() As Integer
     Get
        Return mX
     End Get
     Set(ByVal xValue As Integer)
        mX = xValue " no need for validation
     End Set
  End Property " X
  Public Property Y() As Integer
     Get
        Return mY
     End Get
     Set(ByVal yValue As Integer)
        mY = yValue " no need for validation
     End Set
  End Property " Y
  Public Overrides Function ToString() As String
     Return "[" & mX & ", " & mY & "]"
  End Function " ToString

End Class

Public Class Circle

  Inherits Point " Circle Inherits from class Point
  Private mRadius As Double " Circle"s radius
  Public Sub New()
     Radius = 0
  End Sub " New
  Public Sub New(ByVal xValue As Integer, _
     ByVal yValue As Integer, ByVal radiusValue As Double)
     mX = xValue
     mY = yValue
     Radius = radiusValue
  End Sub " New
  Public Property Radius() As Double
     Get
        Return mRadius
     End Get
     Set(ByVal radiusValue As Double)
        If radiusValue > 0 Then
           mRadius = radiusValue
        End If
     End Set
  End Property " Radius
  Public Function Diameter() As Double
     Return mRadius * 2
  End Function " Diameter
  " calculate Circle circumference
  Public Function Circumference() As Double
     Return Math.PI * Diameter()
  End Function " Circumference
  " calculate Circle area
  Public Overridable Function Area() As Double
     Return Math.PI * mRadius ^ 2
  End Function " Area
  " return String representation of Circle
  Public Overrides Function ToString() As String
     Return "Center = " & "[" & mX & ", " & mY & "]" & _
        "; Radius = " & mRadius
  End Function " ToString

End Class</source>

X coordinate is 37
Y coordinate is 43
Radius is 2.5
The new location and radius of circle are
Center = [2, 2]; Radius = 4.25
Diameter is 8.50
Circumference is 26.70
Area is 56.75

protected members are available to objects inheriting from this class

<source lang="vbnet">Public Class SomeClassInMyAssembly

   Protected vProtected As Integer

End Class</source>