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. We can implement overriding by using virtual and override keywords
like below code snippet:
using System;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
int a = 2,
b = 3;
baseClass emp;
emp = new baseClass();
emp.Add(a, b);
emp = new DerivedClass();
emp.Add(a, b);
Console.ReadLine();
}
}
class baseClass
{
public virtual void Add(int a, int b)
{
Console.Write("Base
Class: Addition\n");
}
}
class DerivedClass
: baseClass
{
public override void Add(int a, int b)
{
Console.Write("Derived
Class: Addition\n");
}
}
}
Output:
Base Class: Addition
Derived Class: Addition
By combining method hiding and method overriding you will
get below code and output:
using System;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
int a = 2,
b = 3;
baseClass emp;
emp = new baseClass();
emp.Add(a, b);
emp = new DerivedClass();
emp.Add(a, b);
emp = new newDerivedClass();
emp.Add(a, b);
Console.ReadLine();
}
}
class baseClass
{
public virtual void Add(int a, int b)
{
Console.Write("Base
Class: Addition\n");
}
}
class DerivedClass
: baseClass
{
public override void Add(int a, int b)
{
Console.Write("Derived
Class: Addition\n");
}
}
class newDerivedClass
: DerivedClass
{
public new void Add(int a, int b)
{
Console.Write("Derived
Class: Addition\n");
}
}
}
Output:
Base Class: Addition
Derived Class: Addition
Derived Class: Addition
0 Comments