相关疑难解决方法(0)

新的关键字和方法隐藏

新的关键字用于隐藏相同的基类实现.但我不确定为什么以下代码将输出生成为Baseclass

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(); 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

我们在derived2中隐藏了fun的实现但是仍然调用Base类为什么呢?我错过了什么吗?

c# inheritance

14
推荐指数
2
解决办法
2460
查看次数

标签 统计

c# ×1

inheritance ×1