最新评论

COOL-CHEN 2010-07-12 10:26
读起来有点费劲。第二遍才看懂。
菜阿彬 2010-07-11 20:52
这么没营养的东西都讨论的起来,真服了博客园了!
BenBen789 2010-07-11 18:43
"面试官既然出了这道题,说明他在工作中碰到过类似的问题," 这一句话,我不是完全同意。 除非你在招人的时候,你出的题是你自己琢磨的。 但真实的面试中,很多不负责的面试题都是东拉本找的。从面试题中,我们并不能完全看出考官的真实目的。
炭炭 2010-07-11 13:25
答案很简单: 当我设计类的时候,防止别人对非 vitual 和 abstract 的方法进行复写的时候,而保证必须执行基类方法的时候。
xiaotie 2010-07-11 12:22
@Alex He 用 new 带来的祸害更大
Alex He 2010-07-11 11:44
[quote]johnsir: [quote]HCOONa: 不如在B中直接加一个新方法, 我觉得你这个是颠倒了顺序了,先有的A才有的B啊,A中如果没有这个方法,B中怎么用new标记啊?[/quote] 你说的很对阿! 解决问题的方案会很多,关键在这个问题上,我们应该怎么样思考面试官提出的问题,呵呵。[/quote] 在设计的时候是可以新增新方法的,但是如果在软件的后期你加新方法,会产生多少连锁反应,要修改多少代码
徐少侠 2010-07-11 11:19
这题目是考面向对象里面继承和多态的 很多干了5年的程序员本质上仅仅是会用面向对象 但是是不懂面向对象的
johnsir 2010-07-11 10:37
[quote]HCOONa: @johnsir 主要是由那个问题引出了一个新的更基本的问题,也就是new隐藏方法的使用时机,╮(╯▽╰)╭,方便的话希望你去看看我新发的那篇博文[/quote] 好啊,一定去拜读,^_^!!
HCOONa 2010-07-11 10:36
@johnsir 主要是由那个问题引出了一个新的更基本的问题,也就是new隐藏方法的使用时机,╮(╯▽╰)╭,方便的话希望你去看看我新发的那篇博文
HCOONa 2010-07-11 10:35
@johnsir 囧,这可够牵强的啊 当时我看见那个问题的时候我就想说,无论如何我都不会那么用:)
johnsir 2010-07-11 10:30
[quote]HCOONa: 不如在B中直接加一个新方法, 我觉得你这个是颠倒了顺序了,先有的A才有的B啊,A中如果没有这个方法,B中怎么用new标记啊?[/quote] 你说的很对阿! 解决问题的方案会很多,关键在这个问题上,我们应该怎么样思考面试官提出的问题,呵呵。
被偷De贼 2010-07-11 10:24
答:首先执行结果分别是b类方法,a类方法。因为使用了new修饰符隐藏了基类方法并且独立于基类方法,使得b类方法可以实现不同的业务逻辑,这就造成二者方法的结果不同。 二:应该根据具体需求来决定调用哪个方法, 当某个业务处理已经在基类(A类)实现,调用基类方法。 ((A)b).Dosomething() 另一个种写法: A a =new B(); a.xxxx(); ================ 应用场景上LZ的举例更直观~~!! 面试态度上个人认为: 应以积极的心态去面对,不管面试管出何等题目对面试者来说都是一种考验,面试题目都是根据公司所需人才的要求来制定的包括许多方面,技术、品德、沟通、思维等等,在这种情况下也许面试者技术很NB,但是其它方面确不符合面试公司的用人要求,这个只能说明面试者某些方面不符合公司的要求,回来要认真总结自己的不足。当然不排除确实有很扯淡的面试管~~!!
HCOONa 2010-07-11 10:18
不如在B中直接加一个新方法, 我觉得你这个是颠倒了顺序了,先有的A才有的B啊,A中如果没有这个方法,B中怎么用new标记啊?
戴眼镜的太阳 2007-04-22 14:38
呵呵,很好,我正要用