我根据规范编写了一个程序.
规范有大约3种类型,每种类型在每个点上都有不同的处理方式.
这或多或少意味着代码可读性,我写的如下所示,现在我的问题是,如果你有200个这样的语句,将它们全部合并为一个"if enum-type x"是不值得的.
我相信有一个程序已经做到了但谷歌对这个具体问题没有多大帮助.提前感谢您的帮助.
/* Point 1.15 Filling Customers bdate */
if(current.identifier == APPLE){ output.setValue(1.15, additionalObj.some.color)}
if(current.identifier == PLUM){ output.setValue(1.15, otherObj.another.color) }
if(current.identifier == GRAPE){ output.setValue(1.15, default::color) }
/* Point 1.16 Filling Customers cash*/
if(current.identifier == APPLE){ do whatever}
if(current.identifier == PLUM){ do whatever}
if(current.identifier == GRAPE){ do whatever}
Run Code Online (Sandbox Code Playgroud)
要取得的成果:
if(current.identifier == APPLE){ output.setValue(1.15, additionalObj.some.color)
do whatever
}
Run Code Online (Sandbox Code Playgroud)
等等,所以我可以自动将它们合并为1个语句,而我仍然拥有可读代码
编辑:我可能误导了你,它实际上不是一个类型,它只是一个带有字符串标识符和SubObjects的对象所以我不能使用多态.我已经调整了上面所以你可以看到我想要实现的目标.