我可以为一个setSource()
setter设置两个不同参数类型的两个版本,即setSource(InputStream)
和setSource(TargetDataLine)
吗?
在内部我持有Object
字段中的值和基于RTTI的调度处理,但是我想知道像Spring这样的bean实现的库是否会优雅地接受这样的setter?即我能将不同类型的值放入一个source
bean字段吗?
答案 0 :(得分:2)
这似乎并不合适。 getSource()
返回什么? Object
?如果是这样,我建议您setSource()
接受Object
。
显然,这似乎太'通用'了,我想知道这个问题是否表明你的建模是不正确的,并且你需要两个专门的子类来处理不同的源类型。
如果不这样做,为什么不明确并且setStreamSource()
/ setTargetDataLineSource()
具有正确的类型,并强制执行其中一个或另一个的设置,而不是两者都设置(我仍然认为专业化是这样的然而,去)。