Почему этот код создает выход «Base class», а не «Derived2 class»?Об Inheritance
namespace TestConsoleApplication
{
class Baseclass
{
public void fun()
{
Console.Write("Base class" + " ");
}
}
class Derived1: Baseclass
{
new void fun()
{
Console.Write("Derived1 class" + " ");
}
}
class Derived2: Derived1
{
new void fun()
{
Console.Write("Derived2 class" + " ");
}
}
class Program
{
public static void Main(string[ ] args)
{
Derived2 d = new Derived2();
d.fun();
}
}
}
Поскольку 'общественная пустота fun' не является виртуальным и не переопределяется в производных классах. – Blablablaster