Visual Basic 已经实现了 Duck typing 的功能,也就是常说的动态接口(Dynamic Interfaces)。但因为时间关系,在发布的 Orcas 版里
通过Duck typing 功能,程序员可以基于方法或者属性交换对象,而不用基于类型或者接口。虽然这样做使得代码的可重用性更高,但同时也因为后绑定引发了一些问题,比如非法类型转型(invalid cast)和丢失方法错误(Exceptions)等。
动态接口和普通接口的定义基本一样,除了一个关键区别。使用普通接口时,开发类的程序员必须声明在类被编译时类实现了哪个接口。动态接口就可以不管这些,任何恰好有这些正确的方法和属性的类在运行时,都被当作已经实现了接口来处理。上述效果可以由开发者通过对类增加接口而非子类继承的方式获得。
更多关于VB 9 当前计划的信息,请浏览
2007 年二月份的 Visual Basic 9.0 概览。
注:感谢全国海关信息中心高级架构师王翔对本译文的技术审校。
评论