Article

Polymorphism


Polymorphism

Polymorphism is a combination of two words, poly, and another one is morphs. Here poly means “multiple” and morphs means “forms” so polymorphism means many forms. This allows us to perform a single action in different ways.


using System;

namespace MyApplication
{
  class Fruits  // Base class (parent) 
  {
    public void fruitColor()
    {
      Console.WriteLine("The fruit color according to fruit");
    }
  }

  class Apple : Fruits  // Derived class (child) 
  {
    public void fruitColor()
    {
      Console.WriteLine("My color is red");
    }
  }

  class Mango : Fruits  // Derived class (child) 
  {
    public void fruitColor()
    {
      Console.WriteLine("My color is Yellow");
    }
  }

  class Program
  {
    static void Main(string[] args)
    {
      Fruits myfruit = new Fruits();  // Create a Fruits object
      Fruits myapple = new Apple();  // Create a Apple object
      Fruits mymango = new Mango();  // Create a Mango object
      
      myfruit.fruitColor();
      myapple.fruitColor();
      mymango.fruitColor();
    }
  }
}

OUTPUT

The fruit color according to fruit
The fruit color according to fruit
The fruit color according to fruit

The Ouput from the example is not that which is expected because the base class method override derived class method when they share the same name. so,now we use virtual keyword to the method inside base class and override keyword to the method inside derived class. so,let's look at the example.


using System;

namespace MyApplication
{
  class Fruits  // Base class (parent) 
  {
    public virtual void fruitColor()
    {
      Console.WriteLine("The fruit color according to fruit");
    }
  }

  class Apple : Fruits  // Derived class (child) 
  {
    public override void fruitColor()
    {
      Console.WriteLine("My color is red");
    }
  }

  class Mango : Fruits  // Derived class (child) 
  {
    public override void fruitColor()
    {
      Console.WriteLine("My color is Yellow");
    }
  }

  class Program
  {
    static void Main(string[] args)
    {
      Fruits myfruit = new Fruits();  // Create a Fruits object
      Fruits myapple = new Apple();  // Create a Apple object
      Fruits mymango = new Mango();  // Create a Mango object
      
      myfruit.fruitColor();
      myapple.fruitColor();
      mymango.fruitColor();
    }
  }
}

OUTPUT

The fruit color according to fruit
My color is red
My color is Yellow