Overloading and Overriding in Visual Basic.NET 2005 - A sample class with method overloading (Page 2 of 5 )
When we have ten parameters to pass, with different combinations, to methods which have similar logic, naming those methods differently from each other would be confusing when working with objects. In such a situation, we can implement more methods with the same name and with a difference in parameters.
A rewrite of the class in the previous section, which implements overloading (more methods with the same name and different parameters) is as follows:
Public Class Sample2
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 SetValues(ByVal a As Double, ByVal b As Double)
_x = a
_y = b
End Sub
Public Sub SetValues(ByVal a As Double)
_x = a
_y = a
End Sub
Public Function GetProduct() As Double
Return _x * _y
End Function
End Class
As you can see, for the above class there exist two methods with the same name, "SetValues," but with different parameters. Those are called overloaded methods. The following is the code that tests the above class:
Dim obj As New Sample2
obj.X = 5
obj.Y = 30
MessageBox.Show("Product = " & obj.GetProduct())
Dim obj2 As New Sample2
obj2.SetValues(10, 20)
MessageBox.Show("Product = " & obj2.GetProduct())
Dim obj3 As New Sample2
obj3.SetValues(10)
MessageBox.Show("Product = " & obj3.GetProduct())
If you observe the "obj2" and "obj3," we are calling the same "SetValues" method. Based on the number of parameters, and based on their data types, we are passing to the method; the respective method with the best match gets picked up and executed automatically.
Next: A sample class with constructor overloading >>
More Visual Basic.NET Articles
More By Jagadish Chaterjee