new的显示隐藏基类 vs 显示接口实现

今天用到显示接口实现(Explicitly Implement),但同时对new的显示隐藏基类的理解有点理解混乱

其实,两者差别很大,最明显是应用场景不同

1.new是子类隐藏一个父类的member;explicitly implement是在子类中对多个父类的重名member的多态实现(算多态吗?)

2.new可以使用子类及父类的member;explicitly implement可以使用多个父类(类或接口)重名member

//以下就是具体的实现细节了

3.定义方式不同

new定义时,直接在方法前加new关键词即可。

explicitly implement定义时,需要制定类/接口,且不能加保护级别修饰符

4.调用方式不同

new定义的方法,子类方法调用,直接写即可,而父类方法则需要转换为父类后,再调用

explicitly implement定义的方法,调用时可以直接写父类/接口名...

 

相关资料参考:

http://www.cnblogs.com/buxiangwei/archive/2008/08/28/1278426.html

http://www.winu.cn/space-14160-do-blog-id-24202.html

posted on 2012-11-23 15:23  shwang  阅读(445)  评论(0编辑  收藏  举报