我必须对一些财务应用程序进行编程,我必须在其中表示一个流量表。流可以有 3 种类型:
- 费用流(只是在某个日期一次性支付)
- 浮动利率流量(流量取决于稍后确定的利率)
- 固定利率流量(流量取决于交易完成时确定的利率)
我需要保留全部信息,并且需要表示这些流程的时间表。最初我想使用继承并创建三个类FeeFlow
,它们FloatingFlow
都FixedFlow
继承自ICashFlow
并实现一些GetFlowType()
返回枚举的方法,然后我可以dynamic_cast
将对象转换为正确的类型。
那将允许我只有一个vector<IFlow>
来代表我的日程安排。
您如何看待这种设计,我是否应该使用三个向量vector<FeeFlow>
,vector<FloatingFlow>
并vector<FixedFlow>
避免动态转换?