我在谈论Java,但这个概念也适用于其他语言--
我们在同一个类上有两种方法,它们具有相同的基本功能,但提供不同的返回类型。这两个方法都可以获取所有东西,但其中一个获得一个可迭代的对象,该对象可以提供对所有东西的访问,另一个则获取包含所有东西的集合。
我们知道你不能这样做(因为它无法编译):
我们在同一个类上有两种方法,它们具有相同的基本功能,但提供不同的返回类型。这两个方法都可以获取所有东西,但其中一个获得一个可迭代的对象,该对象可以提供对所有东西的访问,另一个则获取包含所有东西的集合。
我们知道你不能这样做(因为它无法编译):
Iterable getThings()
Collection getThings()
那么,有没有人对如何命名方法有想法?似乎很容易解决,只需说:
Iterable getIterableOfThings
Collection getCollectionOfThings
然而,这显然有些啰嗦,也许不是最好的解决方案。我所问的问题是否意味着我们的组织/编码方法已经偏离了轨道,还是这个问题是合理的?
还有其他人遇到过这种情况吗?
Iterable iterator()
代替Iterable getThings()
,这样做怎么样? - BrajIterable
是Collection
的超级接口。为什么需要两个getter,当你总是可以将一个转换为另一个呢? - blgt