求C#大神解释一上这道题 关于使用new关键字修饰
求C#大神解释一下这道题 关于使用new关键字修饰.
输出结果出乎意料 为什么?
------解决方案--------------------
隐藏基类成员,因为父类也有Fun,所以,当你调用子类的Fun时,就不会调用父类的了
http://hi.baidu.com/gnaran/blog/item/45f5b75972ecda86800a18b0.html
- C# code
public abstract class A { public A() { Console.WriteLine('A'); } public virtual void Fun() { Console.WriteLine("A.Fun()"); } } public class B : A { public B() { Console.WriteLine('B'); } public new void Fun() { Console.WriteLine("B.Fun()"); } public static void Main() { A a = new B(); a.Fun(); } }
输出结果出乎意料 为什么?
------解决方案--------------------
隐藏基类成员,因为父类也有Fun,所以,当你调用子类的Fun时,就不会调用父类的了
http://hi.baidu.com/gnaran/blog/item/45f5b75972ecda86800a18b0.html