Circle class that inherits from class Point : Class Inheritance « Class Module « VB.Net Tutorial






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








6.14.Class Inheritance
6.14.1.Simple Inheritance
6.14.2.Class implicitly Inherits Object
6.14.3.Circle class that inherits from class Point
6.14.4.Inherit ToString method from Object
6.14.5.Call base method
6.14.6.Shadows member function from base class
6.14.7.Use For Each for Class Hierarchy
6.14.8.Inherit constant from base class
6.14.9.Class inheritance and polymorphism
6.14.10.Multilevel inheritance