这个问题源于几个相关的问题,并且在某种程度上重新审视了第一个问题,第一个问题似乎对OP的主要问题没有明确的答案:
我非常清楚私有方法的用途,但我很难想到一个例子,让函数的实现在私有方法中不会给API使用者带来问题,但将实现直接放在公共方法中会造成问题。这是Java API中的一种常见做法。
我基本上是在重复上面的第一个问题,因为我没有读到一个巩固我理解的答案。举同样的例子:
public class Sum {
private int sum(int a, int b){
return a + b;
}
public int getSum(int a, int b){
return sum(a, b);
}
}
使用private sum函数而不是直接将结果放在public函数中有什么好处?
public int getSum(int a, int b) {
return a + b;
}
也许这不是最好的例子,但我也非常欢迎更复杂或真实的例子。
同样,我理解将实现放在私有方法中可以隐藏实现并允许重用,总体上对将来的添加是一种更好的做法。然而,
为什么不把它放在私有方法中就有能力破坏的consumers?
发布于 2018-10-25 03:55:59
如您所示,将实现放在私有方法中没有任何区别。
我认为这个问题误解了“接口<->方法的实现”和“公共方法<->私有方法”之间的关系。
重要的是将接口与实现分离。消费者只能看到接口。函数提供程序选择/注入适当的实现。
https://stackoverflow.com/questions/52976891
复制相似问题