VB.Net Tutorial/Class Module/Protected

Материал из VB Эксперт
Перейти к: навигация, поиск

Protected Members

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
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

Public Class SomeClassInMyAssembly
    
    Protected vProtected As Integer
End Class