【问题标题】:protected/private - why bother? [duplicate]受保护/私人 - 为什么要打扰? [复制]
【发布时间】:2010-10-06 17:11:14
【问题描述】:

骗子:Private vs. Public members in practice (how important is encapsulation?)

在用 Java 编写程序的过程中,我已经抽象出一些库,我可以看到它们在未来的项目中可能会用到。

我为什么要在这些方法中设置受限访问(私有/受保护)?

看来这只会让我未来的生活变得更加复杂。如果我在所有东西上都使用 public,我将永远不需要担心我是否可以从其他类中调用某些东西。我从来没有在我的任何代码中看到过这样一个案例,我可以使用除 public 之外的任何东西。

在所有内容上都使用“public”是错误的吗?我会被 Java 诸神击倒吗?

【问题讨论】:

  • @Rich B:答案已删除。

标签: java encapsulation


【解决方案1】:

是的,对所有内容都使用 public 是错误的。这意味着您完全不知道“此成员是公共 API 的一部分;您应该能够从外部世界使用它,并且它不应该更改”和“此成员是一个实现”之间的区别细节。如果我以后想更改它,我可以这样做,因为我不知道外界不会调用它。”

明确区分 API 和实现对于 IMO 的灵活性和清晰度非常重要。

【讨论】:

  • 这是一个很好的解释。非常感谢。
猜你喜欢
  • 2012-09-28
  • 2019-07-24
  • 1970-01-01
  • 2017-06-29
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
  • 2017-06-09
  • 2013-01-03
相关资源
最近更新 更多