首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将公共方法的实现放在私有方法中以防止干扰消费者?

如何将公共方法的实现放在私有方法中以防止干扰消费者?
EN

Stack Overflow用户
提问于 2018-10-25 03:49:02
回答 1查看 72关注 0票数 -1

这个问题源于几个相关的问题,并且在某种程度上重新审视了第一个问题,第一个问题似乎对OP的主要问题没有明确的答案:

我非常清楚私有方法的用途,但我很难想到一个例子,让函数的实现在私有方法中不会给API使用者带来问题,但将实现直接放在公共方法中会造成问题。这是Java API中的一种常见做法。

我基本上是在重复上面的第一个问题,因为我没有读到一个巩固我理解的答案。举同样的例子:

代码语言:javascript
复制
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函数中有什么好处?

代码语言:javascript
复制
public int getSum(int a, int b) {
    return a + b;
}

也许这不是最好的例子,但我也非常欢迎更复杂或真实的例子。

同样,我理解将实现放在私有方法中可以隐藏实现并允许重用,总体上对将来的添加是一种更好的做法。然而,

为什么不把它放在私有方法中就有能力破坏的consumers?

  • Should所有公共方法都是这样创建的(总是将实现放在私有方法中),或者划线在哪里?
EN

回答 1

Stack Overflow用户

发布于 2018-10-25 03:55:59

如您所示,将实现放在私有方法中没有任何区别。

我认为这个问题误解了“接口<->方法的实现”和“公共方法<->私有方法”之间的关系。

重要的是将接口与实现分离。消费者只能看到接口。函数提供程序选择/注入适当的实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52976891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档