您的位置:首页 > 职场人生

一道面试题目引发的思考

2007-11-02 09:59 555 查看
深入理解对象模型对我们理解面向对象的继承多态会大有裨益。

一直没找到C#这方面的知识,粗浅的看过一点侯捷C++对象模型,实际分析问题的时候发现还是没有深入理解。

无奈到园子里来请教大家。也希望高手前辈能够不吝赐教。如果有意写一些C#对象模型相关的文章我想对于新人来说可谓是莫大的帮助。期待,提前感谢。

你知道下面的代码会输出什么么。

A内部的嵌套类B继承自A

using System;

public class A

{

void printA()

{

Console.WriteLine("printA");

}

public class B : A

{

new void printA() // 1

{

Console.WriteLine("printB");

}

}

public static void Main(String[] args)

{

B BTemp = new B();

A ATemp = BTemp;

BTemp.printA();

ATemp.printA();

Console.ReadLine();

}

}

上面的代码讲输出

printA

printA

但是在注释1的地方加上public修饰符结果将变成

printB

printA

上网搜了很久参考了下面这篇文章终久还是难解其中之密

http://www.cnblogs.com/caomao/archive/2005/08/16/175459.html 再此感谢Zendy,我很喜欢这篇文章的风格

因为才疏学浅,如果是我少见多怪了。

希望兄弟们善意的提个醒。我好马上从这里撤离,省却在这里丢人现眼。哈哈。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: