In this article we will learn about one of
the most reusable object oriented features of C#,Method Overloading and
Method overriding . We will learn about Method Overloading and Method
overriding from the basics because I have written this article focusing
on students and beginners. Before proceeding further please refer to
my previous articles for a better understanding.
So let us start from Method Overloading
So let us start from Method Overloading
What is Method Overloading ?
Creating
a multiple methods in a class with same name but different parameters
and types is called as method overloading.method overloading is the
example of Compile time polymorphism which is done at compile time.
Method overloading can be achieved by using following things :
- By changing the number of parameters used.
- By changing the order of parameters.
- By using different data types for the parameters.
public class Methodoveloading { public int add(int a, int b) //two int type Parameters method { return a + b; } public int add(int a, int b,int c) //three int type Parameters with same method same as above { return a + b+c; } public float add(float a, float b,float c,float d) //four float type Parameters with same method same as above two method { return a + b+c+d; } }
In
the above example ,their are three methods with same method same but
they differ with number of parameters and type of parameters ,hence this
types of methods is called as method overloading.
FAQ of Method Overloading
Question- Can method overloading has same numbers of parameters and Name with different return types?
Answer- No, because conflict is happen in methods while passing the parameters .
Now let us learn about the Method overriding
What is Method overriding ?
Creating
the method in a derived class with same name, same parameters and same
return type as in base class is called as method overriding.
Method overriding is the example of run time polymorphism,how its is the part of run time polymorphism i will explain in detail.
Some Key Points of Method overriding
- Method overriding is only possible in derived class not within the same class where the method is declared.
- Only those methods are overrides in the derived class which is declared in the base class with the help of virtual keyword or abstract keyword.
e.g
public class Account { public virtual int balance() { return 10; } } public class Amount:Account { public override int balance() { return 500; } }
Output of the above Program is
- 10 and 500
The
Method overriding is very useful when we wants to return different
output of same method in different class according to the need.
Let
us consider the example I wants to provide the discount on particular
product according to the Customer category that A,B,C in this scenario
suppose A,B,C are the classes and Discount is the class which contains
virtual CustDiscount () method ,then i simply override it on class A,B,C
instead of writing three different methods for each class.
I
hope you understand about the Method overriding and Method
overloading,In my next article we will see the real time examples of
Method overriding and Method overloading.
Summary
I hope this article is useful for all students and beginners. If you have any suggestion related to this article then please contact me.
I hope this article is useful for all students and beginners. If you have any suggestion related to this article then please contact me.
Post a Comment