C# Polymorphism2 min read

Polymorphism means having many forms. The word “poly” means many and “morphs” means form. Polymorphism is one of the core principles of object-oriented programming which means it is the way of performing some task in many ways.

With polymorphism, a class can have multiple implementations with the same name.

There are two types of polymorphism in C#:

  1. Compile-time Polymorphism or Static (or early) Polymorphism.
  2. Runtime Polymorphism or Dynamic (or late) Polymorphism.

C# Compile Time Polymorphism

In this type of program, the flow of control is decided at compile time itself. It is achieved by function overloading and operator overloading. It is also known as static or early binding.

Let us go through function overloading and we will cover operator overloading in the next tutorial.

Function Overloading

A function is said to be overloaded if two or more functions having the same name but different parameters. The difference could be in a number of parameters or types of parameters so that compiler can tell the difference.

Also, while calling this function make sure to give the proper parameters according to the required called function. Learn more on method overloading in C#.

Example of C# program for function overloading.

Output:

Name: John Mac Roll: 18
Value of counter: 100


C# Run Time Polymorphism

In run time polymorphism, the program is called at the time of execution that is at rum time. It is also known as the late binding or dynamic binding.

This type of polymorphism is achieved by Method Overriding.

Method Overriding

Method overriding is done through inheritance, it allows us to define a function at a derived class that is already present in a base class. And that base is said to be overridden. There is a use of the virtual keyword and override keyword as shown in the program below.

And the decision made to call the required function is done at the run time. Hence, the Runtime polymorphism.

Example: C# program for method overriding.

Output:

Dog Sleeps
Animals Sleeps


MORE

Find the output ab, cd, ef, g for the input a,b,c,d,e,f,g in Javascript and Python

In this tutorial, we will write a program to find a pairs of elements from an array such that for the input [a,b,c,d,e,f,g] we will …
Read More

String Pattern Programs in C

In this tutorial, we will write various C pattern programs for String. Before that, you may go through the following topics in C. for loop …
Read More

Java Program to Find pair of Integers in Array whose sum is given Number

In this tutorial, we will write a program to find a pair of elements from an array whose sum equals a given number in java …
Read More

Program to Print Diamond Alphabet Patterns in C

In this tutorial, we will learn to write a C program to print Diamond patterns using alphabets/characters. However, in this tutorial, we will create a …
Read More

Half Diamond Pattern in C using Alphabets

In this tutorial, we will learn and code the half diamond alphabet patterns in C programming language. However, in this tutorial, we will create a …
Read More

Half Pyramid of Alphabets in C

In this tutorial, we will learn and code alphabet patterns in C programming language specifically the Half pyramid of alphabets in C programming. However, in …
Read More