我计划将项目集合存储在TCollection中。
每个项目都将从TBaseItem派生,而后者又派生于TCollectionItem,
考虑到这一点,当请求项时,集合将返回TBaseItem。
现在每个TBaseItem都有一个Calculate函数,在TBaseItem中这只会返回一个内部变量,但是在TBaseItem的每个派生项中,Calculate函数需要一组不同的参数。
集合将有一个Calculate All函数,它遍历集合项并调用每个Calculate函数,显然它需要将正确的参数传递给每个函数
我可以想出三种方法:
处理这个收藏的最好方法是什么?
发布于 2010-03-15 12:47:32
如果它们都有不同的方法签名,那么通过拥有虚拟方法就不会真正获得任何东西--它们可能也是静态的。我会支持“泛型”/“规范”参数集,就像在您的案例2中一样,以及虚拟/重写的计算方法,至少基于您到目前为止已经给出的描述。
https://stackoverflow.com/questions/2446959
复制相似问题