Polymorphism in C#

0
Polymorphism in C#:-

Poly means Many and Morphism means Forms, using this we can use the same name method or operator for more than one functionality, for example, + is the operator which can be used for addition and String Concatenation.


Type of Polymorphism :


1)  Static Polymorphism:-


 It will perform the operation at compile time. if we create more than one function with the same name under a single class then it is an example of static polymorphism.

   1.1 ) Function Overloading:-

We will create the same name function only the parameters will be different. using this we can save the extra memory allocation for different function names;

     void Addition(int x,int y)
    {

    }

   void Addition(int x, int y, int z)
   {


    }

    void Addition(int x, float y)
    {


     }

Example of Function Overloading:-

class OverloadingExample
    {
        void Addition(int x, int y)
        {
            Console.WriteLine(x + y);

        }
        void Addition(int x, int y,int z)
        {
            Console.WriteLine(x + y+z);

        }
        public static void Main()
        {
            OverloadingExample obj = new OverloadingExample();
            obj.Addition(100, 200);
            obj.Addition(100, 200,300);
            Console.ReadKey();

        }
    }


Example of Function Overloading?

class Operation
    {
        float c;
        void Add(int a,int b)
        {
            c = a + b;
            Console.WriteLine(c);
        }
      
        void Add(int a, float b)
        {
            c = a + b;
            Console.WriteLine(c);
        }
        void Add(float a, int b)
        {
            c = a + b;
            Console.WriteLine(c);
        }
        void Add(float a, float b)
        {
            c = a + b;
            Console.WriteLine(c);
        }

        static void Main()
        {
            Operation obj = new Operation();
            obj.Add(100.2F, 20.2F);
            Console.ReadKey();
        }
    }



2)  Dynamic Polymorphism:-   

It will perform the operation at run time using the object. Overriding and Overhiding is an example of Dynamic Polymorphism.


2.1)Method Overriding:

  We will create the same name method from the base class to derive class only functionality will be different.
 For example, if we create a base class to child class with the same name method then it will be overridden.

In C# we will use virtual keyword in the parent class method and override keyword in the child class method.

class A
    {
       internal virtual void fun()
        {
            Console.WriteLine("A");
        }
    }
    class B:A
    {
       internal override void fun()
        {
            Console.WriteLine("B");
        }
        static void Main()
        {
          A obj = new B();
            obj.fun();
            Console.ReadKey();
        }
    }

2.2) Method Over-hiding:- 


We will create the same name method from the base class to the derived class where the base class method automatically hiding by the child class Object.
No need to write any keyword under Method Overhiding Concept.

When we create a parent class objects then the child class method will be hide when we create a child objects then the parent class method will hide.
class A
    {
       internal void fun()
        {
            Console.WriteLine("A");
        }
    }
    class B: A
    {
       internal void fun()
        {
            Console.WriteLine("B");
        }
        static void Main()
        {
          A obj = new B();
            obj.fun();
            Console.ReadKey();
        }
    }



Tags

Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)