一道面试题目引发的思考
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,我很喜欢这篇文章的风格
因为才疏学浅,如果是我少见多怪了。
希望兄弟们善意的提个醒。我好马上从这里撤离,省却在这里丢人现眼。哈哈。
一直没找到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,我很喜欢这篇文章的风格
因为才疏学浅,如果是我少见多怪了。
希望兄弟们善意的提个醒。我好马上从这里撤离,省却在这里丢人现眼。哈哈。
相关文章推荐
- 一道面试题目引发的思考
- 一道JS面试题目引发的思考
- 一道面试题目引发的思考
- 一道面试题目引发的思考
- C++ 一道简单的题目引发的思考
- 一道简单的题目引发的思考
- 一道简单的题目引发的思考
- 一道socket题目引发的思考
- 一道原生js题目引发的思考(鼠标停留区块计时)
- 一道简单的题目引发的思考
- 一道简单的题目引发的思考
- 一道题目引发的多角度思考
- i++与++i一道简单的题目引发的思考
- 一道经典面试引发的思考:从输入URL到页面加载的过程
- ssd上一道题目引发的思考
- 一道笔试题目引发的思考
- 关于腾讯面试的一道题目
- 一道Java面试题目——随想+心得
- 一道Apple公司(中国)的面试题目
- 一道面试题目