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