【发布时间】:2013-01-15 08:40:29
【问题描述】:
所以 2 个问题:
- 我应该为我的课程使用公共访问还是包访问?在每个项目中,我的所有类都保存在一个包中,并且我从不在其他项目中使用它们的任何方法。那么我需要公共访问权限吗?我认为包裹对我来说没问题。而且会更安全。
- 我知道将字段设为私有并为其创建 getter 和 setter 的习惯。我也理解密封的概念,但是在我读到关于制作 getter 和 setter 的哲学的任何地方,我都只有一个理由:“你必须做 getter 或 setter,这样你才能确定一个变量不会直接用于程序的其他部分。感谢这样您就可以确定可以在此类 getter 更改中进行(例如决定返回什么值的 if 语句),并确保每个部分的行为都会如此”。但在 99.9% 的 getter 中,只返回类私有值。几乎每次 getter 都只有 1 行“return XXX”。那么还有其他使用吸气剂的可能性吗?和二传手?我曾经从我的项目中删除了 getter 和 setter,将字段公开,结果我的项目缩小了近 30%。
【问题讨论】:
-
这不是关于更小的代码,而是关于高效和安全的代码。将字段设为私有将有助于您不会在其他类中错误地设置它们,如果您使用 getter 和 setter,您会意识到使用它们,不是吗?此外,您应该将要在其他包中访问的类公开。并通过一些良好的编程实践,我的建议..
-
两者都是非常糟糕的做法。看起来我们正在谈论一个只有一个开发人员(你)的小项目。在这种情况下,你可能会没事(现在)。但如果项目继续增长或有更多开发人员加入,你很可能会陷入困境。 en.wikipedia.org/wiki/Information_hiding
-
这里的基本理念是让自己习惯于让自己更容易在涉及更多人的大型项目中顺利工作的做法。虽然这对于较小的项目似乎是一种浪费,但您提到的都是很好的做法。你不妨习惯以正确的方式做事。
标签: java