Method hiding in C#

A hiding method has to be declared using the new keyword
  • 2819

Introduction

Method hiding in C# is similar to the function overriding feature in C++. Functions of the base class are available to the derived class. If the derived class is not happy one of the functions available to it from the base class can define its own version of the same function with the same function signature just differing in implementation. C# not only supports method overriding but also method hiding. Simply put if a method is not overriding the derived method it is hiding it. A hiding method has to be declared using the new keyword.

Example: Simple example of a method hiding in a C#.

Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Tom
{
    class TOM
    {
        public void Display()
        {
            System.Console.WriteLine("TOM::Display");
        }
    }
    class JOY : TOM
    {
        public new void Display()
        {
            System.Console.WriteLine("JOY::Display");
            Console.ReadLine();
        }
    }
    class Show
    {
        public static void Main()
        {
            JOY obj = new JOY();
            obj.Display();
        }
    }
}

Output : Press ctrl+f5 run a application.

  111111111111111111111111111111.gif

Summary : The compiler warns us about Display() of JOY forcibly hiding Display() of TOM. Now we have using a new keyword to solve a problem of method handling.  

© 2019 DotNetHeaven. All rights reserved.