假设我正在开发一个现有的,相当大的系统。我有一个myObject
类的对象MyClass
(出于示例的原因,假设我正在Java中工作)。myObject
是一种含有一种组合物Collection
,比方说,一个List
和其它目的(我认为)是无关紧要的。它包含委托方法,这些委托方法仅用于调用List
它所组成的方法,以确保List
它所具有的不暴露(对不起,如果我的术语错误)。
假设这List
是一个,List<String>
但是由于某种原因,主要的访问方法是class的mask方法SomeOtherClass
。如果要在其中插入一个新的值对List
,则需要一个SomeOtherClass
名为的对象someObject
。我会打电话给,myObject.insert(someObject)
并且在insert
方法内部将有一些魔术可以检索String
到中放入List<String>
。
现在假设我只有一个String
值,没有SomeOtherClass
要插入的对象。假设我无法修改该insert
方法,因为它会破坏系统中的所有内容。那我应该重载该insert
方法吗?还是应该在SomeOtherClass
每次调用时创建一个新对象insert
?
我想如果我确实超载了,它会看起来像这样……
public void insert(String s) {
...
}
public void insert(SomeOtherObject obj) {
this.insert(obj.magicStringMethod());
}
(此示例是一个人为的难题,它基于我昨天遇到的关于超载的类似(稍微复杂一些)情况。如果有不清楚的地方,我将对其进行扩展)
这是重载方法的合适地方吗?如果没有,我什么时候应该重载方法?
magicStringMethod()
在我的示例中,以我的示例为例,它String
表示SomeOtherObject
一个域对象。