为什么我们要使用私人?在c ++和java?

时间:2012-08-08 02:48:01

标签: java

为什么我们使用私有关键字?我知道它限制了对var或方法的访问,但为什么我们必须限制访问?

5 个答案:

答案 0 :(得分:4)

如果你公开公开所有的方法和变量,当另一个程序员试图用你编写的类做某事时,这将非常困难,因为他不知道哪些方法会处理你的类的内部行为,这些是他不应该使用的方法,因为他会弄乱对象的内部状态并导致错误。

答案 1 :(得分:1)

你没有“必须”做任何类似的事情。只展示绝对必须暴露的东西,这是一个好习惯,特别是当你创建一个大型程序,其中连接呈指数级增加,并且副作用的风险随之增加。这真的是关于管理复杂性。阅读封装和信息隐藏以及这有助于降低大型系统的复杂性。一本好书是Grady Booch的面向对象设计,以获取更多相关信息。

答案 2 :(得分:0)

在OO世界中,为了实现封装,了解您想要公开的对象的功能或行为是非常必要的,并且每个访问标识符在其中起着重要作用。在Code Complete一书中,McConnell强烈建议将所有变量设为私有。

答案 3 :(得分:0)

考虑您正在构建实用程序库,并且您将向外部世界公开方法作为实用程序。但是那些方法可能会调用几个私有的方法。因此,直接调用这些私有方法可能没有任何意义,在最坏的情况下,它们甚至可能会损害对象的状态。有很多例子可以解释私有甚至在jdk中的用法。 在String类中,有一个私有方法checkBounds,它仅在public String(byte bytes[], int offset, int length, String charsetName)

的情况下检查有效的构造函数参数

公开此方法(公开)对于String类没有任何意义。

答案 4 :(得分:0)

私人,顾名思义它是外部私有/无法访问的东西。面向对象编程语言有一个重要的概念叫做 Encapsulation ,这意味着限制对某些对象组件的访问。在开发代码时,您需要隐藏其他类中的某些对象,在这些情况下,将这些对象/变量删除为私有。私有访问仅限于其定义的类。