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 :


Join the conversation! Your thoughts help the community grow.