Method Overloading
Def: Method overloading is nothing but writing multiple methods with same name andwith different arguments.
To overload methods, you should follow the below rules.
- All of the overloaded methods name should be same.
- Any difference between the method arguments should be maintained. The difference may be in no. of arguments or the data types of arguments.Finally, when you call the overloaded method, automatically compiler takes the decision that which method is to be called‖, based on the arguments that you are passing.
Download above code for Demo Method Overloading : Download Links
Operator Overloading
Def: Re-defining the functionality of an operator is nothing but "Operator Overloading". With the support of operator overloading, you can use any of the existing operators with the combination of objects.For example to add two numbers, you write like this (a and b are the variables).
a + b
But suppose you have two objects declared for ―Student‖ class. Then you can‘t write like this:
s1 + s2
Finally, if you want to use the operator with the combination of objects, you require "Operator Overloading".
To implement this feature, write the "Operator method" as follows:
public static operator symbol(arguments)
{
}
If you use the specific operator with the objects, then automatically the above method will be called and the object(s) will be passed as arguments to the above operator method.
Generally operator method returns a result object.
Download above code for Demo Operator Overloading : Downloads Links
Virtual Methods and Method Overriding
The similar operation as above can be implemented with two keywords called "virtual" and "override". The "virtual" keyword should be used in the super class method‖ definition and the override keyword should be used in the "sub class method" definition. This concept can be called as “Method Overriding”. In fact, there is no much difference between "Hiding methods" and "Method Overriding". This is similar to "virtual functions" in C++; but "override" keyword is not required inC++. The access modifiers used in the base and derived classes for the virtual methods should
be same.
No comments:
Post a Comment