gpt4 book ai didi

java - 为什么有那么多 foss 库将它们的类公开而不是最终的?

转载 作者:搜寻专家 更新时间:2023-11-01 01:57:38 27 4
gpt4 key购买 nike

在你用一个明显的答案跳到我面前之前,让我限定这个问题并说,并不是所有的类都是可子类的。

  • 子类应该是经过深思熟虑的额外属性,而不是所有类的默认属性。
  • 可以争论的是类在默认情况下应该是 final 的,如果真的需要的话,也可以不是 final 的。

我能想到封装私有(private)类的许多优点。

  • 如果这个类不是真的供我查看,而只是一个我应该考虑实现细节的助手,那么将它设为非公开意味着当我在我的 ide 中按名称或接口(interface)实现搜索类时,它不会出现。
  • 这也意味着,如果除了导出的接口(interface)之外的所有内容都是公开的,那么在浏览库 jar 文件时检查 api 会变得更加简单,因为噪音更少。我不再看到内部实现的东西。
  • 无需担心包外的子类。
  • 对于用户来说,实际的好处意味着他们需要的方法也可能会在一个接口(interface)/类下组合在一起,而不是分散在其他公共(public)类中,这意味着更少的困惑,更少的地方可以看,更少的句柄太管理了。

那么人们为什么不利用这些设施呢?

最佳答案

有多种语言,例如python,其中一切都是公开的,没有什么是最终的。这并不意味着他们生活在 hell ,模块无法使用和维护。恰恰相反。

软件工程很棘手。很多时候,我们都在脑海中与稻草人作斗争。那可能很有趣,我们不顾实际利益去追求理想——如果我们有时间的话。如果您是一个人负责数百个类(class),那么完美主义者会让您抓狂。

关于java - 为什么有那么多 foss 库将它们的类公开而不是最终的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4753451/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com