43
1
using System;
2
3
public class Program
4
{
5
public static void Main()
6
{
7
BaseClass s1 = new SecondChild();
8
s1.GetMethodOwnerName();
9
Console.WriteLine();
10
11
ChildClass s2 = new SecondChild();
12
s2.GetMethodOwnerName();
13
Console.WriteLine();
14
15
SecondChild s3 = new SecondChild();
16
s3.GetMethodOwnerName();
17
Console.WriteLine();
18
}
19
20
public class BaseClass
21
{
22
public virtual void GetMethodOwnerName()
23
{
24
Console.WriteLine("Base Class");
25
}
26
}
27
public class ChildClass : BaseClass
28
{
29
public override void GetMethodOwnerName()
30
{
31
base.GetMethodOwnerName();
32
Console.WriteLine("ChildClass");
33
}
34
}
35
public class SecondChild : ChildClass
36
{
37
public override void GetMethodOwnerName()
38
{
39
base.GetMethodOwnerName();
40
Console.WriteLine("Second level Child");
41
}
42
}
43
}
Cached Result