Overloading and Overriding in Visual Basic.NET 2005 (Page 1 of 5 )
This article gives you an in-depth understanding of the differences between overloading and overriding in Visual Basic.NET 2005. It is assumed that the reader knows something about object-oriented programming in Visual Basic.NET.
Two downloadable zip files are available for this article, one on
overloading and one on
overriding.
If you are new to OOP in Visual Basic.NET, I strongly suggest that you go through the following links:
Using Constructors with Object-Oriented Database Development
Properties and Object-Oriented Database Development
Using Methods with Object-Oriented Database Development
An Introduction to Object-Oriented Database Development
The entire source code for this article is available in the form of downloadable zip files. The solution was developed using Microsoft Visual Studio 2005 Professional Edition on Microsoft Windows Server 2003 Enterprise Edition. I didn't really test it in any other environment. I request that you post in the discussion area if you have any problems in execution.
A sample class without overloading
Before taking a direct look at overloading, let us try to understand the following class:
Public Class Sample
Private _x As Double
Private _y As Double
Public Property X() As Double
Get
Return _x
End Get
Set(ByVal value As Double)
_x = value
End Set
End Property
Public Property Y() As Double
Get
Return _y
End Get
Set(ByVal value As Double)
_y = value
End Set
End Property
Public Sub SetTwoValues(ByVal a As Double, ByVal b As Double)
_x = a
_y = b
End Sub
Public Sub SetSingleValue(ByVal a As Double)
_x = a
_y = a
End Sub
Public Function GetProduct() As Double
Return _x * _y
End Function
End Class
The above class has two private fields ("_x" and "_y") which are only accessible within the class (and not outside the class). Further, it has two public properties and three public methods (public members are accessible even outside the class).
The following is the sample code needed to test the above sample class:
Dim obj As New Sample
obj.X = 5
obj.Y = 30
MessageBox.Show("Product = " & obj.GetProduct())
Dim obj2 As New Sample
obj2.SetTwoValues(10, 20)
MessageBox.Show("Product = " & obj2.GetProduct())
Dim obj3 As New Sample
obj3.SetSingleValue(10)
MessageBox.Show("Product = " & obj3.GetProduct())
I created three objects (or instances) for the class "Sample" named "obj," "obj2" and "obj3." The first object uses properties to assign values. The second object uses a method named "SetTwoValues" to assign two values. The third object uses another method named "SetSingleValue" to assign only a single value.
Next: A sample class with method overloading >>
More Visual Basic.NET Articles
More By Jagadish Chaterjee