Define Overridable Member Function : Overridable « Class « VB.Net

Home
VB.Net
1.2D
2.Application
3.Class
4.Data Structure
5.Data Types
6.Database ADO.net
7.Development
8.Event
9.File Directory
10.Generics
11.GUI
12.Language Basics
13.LINQ
14.Network Remote
15.Security
16.Thread
17.Windows Presentation Foundation
18.Windows System
19.XML
20.XML LINQ
VB.Net Tutorial
VB.Net by API
VB.Net » Class » OverridableScreenshots 
Define Overridable Member Function
Define Overridable Member Function

Imports System

Public Class MainClass

    Shared Sub Main(ByVal args As String())
      Dim circle As Circle

      circle = New Circle(37432.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
End Class


Public Class Circle
   Inherits Point ' Circle Inherits from class Point

   Private mRadius As Double

   ' default constructor
   Public Sub New()

      ' implicit call to Point constructor occurs here
      Radius = 0
   End Sub ' New

   ' constructor
   Public Sub New(ByVal xValue As Integer, _
      ByVal yValue As Integer, ByVal radiusValue As Double)

      ' use MyBase reference to Point constructor explicitly
      MyBase.New(xValue, yValue)
      Radius = radiusValue
   End Sub ' New

   ' property Radius
   Public Property Radius() As Double

      Get
         Return mRadius
      End Get

      Set(ByVal radiusValue As Double)

         If radiusValue > Then
            mRadius = radiusValue
         End If

      End Set

   End Property ' Radius

   ' calculate Circle diameter
   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

      ' use MyBase reference to return Point String representation
      Return "Center = " & MyBase.ToString() & _
         "; Radius = " & mRadius
   End Function ' ToString

End Class



Public Class Point
   ' implicitly Inherits Object

   ' point coordinate
   Private mX, mY As Integer

   ' default constructor
   Public Sub New()

      ' implicit call to Object constructor occurs here
      X = 0
      Y = 0
   End Sub ' New

   ' constructor
   Public Sub New(ByVal xValue As Integer, _
      ByVal yValue As Integer)

      ' implicit call to Object constructor occurs here
      X = xValue
      Y = yValue
   End Sub ' New

   ' property X
   Public Property X() As Integer

      Get
         Return mX
      End Get

      Set(ByVal value As Integer)
         mX = value
      End Set

   End Property ' X

   ' property Y 
   Public Property Y() As Integer

      Get
         Return mY
      End Get

      Set(ByVal value As Integer)
         mY = value
      End Set

   End Property ' Y

   ' return String representation of Point
   Public Overrides Function ToString() As String
      Return "[" & mX & ", " & mY & "]"
   End Function ' ToString

End Class
           
       
Related examples in the same category
1.Overridable Overloads Method from Base ClassOverridable Overloads Method from Base Class
2.Use Overridable FunctionUse Overridable Function
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.