Here, I created a interface IShow having one
method Show(). We have two Class A, B inhrits from Interface IShow. In this
Senario, how many way to programmer can show() method.
namespace
ConsoleApplication
{
interface IShow
{
void Show();
}
class A :
IShow
{
public virtual
void Show()
{
Console.WriteLine("Base
Class function");
}
public void
Show1()
{
Console.WriteLine("Base
Class function");
}
}
class B :
A
{
public override
void Show()
{
Console.WriteLine("Drived
Class function");
}
public void
Show2()
{
Console.WriteLine("Drived
Class function");
}
static void
Main(string[] args)
{
A A = new
A();
A.Show();
B B = new
B();
B.Show();
A A1 = new
B();
A1.Show();
IShow S = new
A();
S.Show();
IShow S1 = new
B();
S1.Show();
Console.ReadKey(true);
}
}
}
Note : - Now you can see there is 5 way to call the Show method.
1. Create an object of A Class and Call the function
A A = new A();
A. Show();
2. Create an object of B Class and Call the function
B B = new B();
B.Show();
3. Create an A derived class object can be represented a its base
class object. (Late Binding) and Call the function
A A1 = new B();
A1.Show();
4. Create an Interface reference pointer of A Class and Call the
function
IShow S = new A();
S.Show();
5. Create an Interface reference pointer of B Class and Call the
function
IShow S1 = new B();
S1.Show();
Output :