Answer to Question #50514 in Visual Basic for Bender
What is an overloaded method and why are these useful? Illustrate your answer with an example of when you would do this.
What is an overloaded method and why are theseuseful? Illustrate your answer with an example of when you would do this. If you wanted to create a group of functionsthat each did essentially the same thing, with only their parameters changed, You can using optional parameters, or bychanging the name of the function. Both techniques work, but they are not very elegant. In Visual Basic you are allowed to create methods in a class that have the same name but different argument lists, VB figure out which method to call during compile based on the parameter types that you pass. This technique is called overloading a method. The benefit of using the same name is thatthe user interface is kept consistent; only the inputs are different. The functionality within the method changes for each new overloaded method. For example, you want wrote function which willpass in a number representing the position of the word you wish to retrieve from the line, or for search string and the method will return the first word in the line of text that contains that string. You create two more versions of this GetWord method. The signature of a method consists ofits name, parameters, and return type—in other words, the arguments that differentiate one "flavor" of the method from another. The signatures for these three methods look like the following lines of code: Function GetWord() As StringFunction GetWord(ByVal Position As Integer) As StringFunction GetWord(ByVal Search As String) As StringThe name of the method (GetWord)stays the same in each of the above methods, but the argument list is different for each one. The compiler can resolve each of these names based on these different "signatures." Notice that the return value is the same for each method. Keeping the return value the same is not a requirement, but you normally will not change the return value on overloaded methods. Changing only the return type on a method does not overload a method. If you try to do this, Visual Basic .NET gives you an error message telling you that you cannot overload a method by changing the return type. You must change at least one argument for a method to have a different signature and be overloaded. Overloading a method allows you tokeep your interface consistent, and allows you to logically call the same method regardless of the types of data you are passing in. You will find that using the same name will help you remember what a procedure does, as opposed to having to come up with new names or a naming convention, to help you keep things straight.