【发布时间】:2011-03-15 19:34:39
【问题描述】:
这不是文字编码问题,我只是想知道,使用公共和私有函数和变量有什么意义?我将在哪里使用它们?
我一直认为它们“旧”或不再需要它们,但我确信它们在某些地方被使用是有充分理由的。
【问题讨论】:
这不是文字编码问题,我只是想知道,使用公共和私有函数和变量有什么意义?我将在哪里使用它们?
我一直认为它们“旧”或不再需要它们,但我确信它们在某些地方被使用是有充分理由的。
【问题讨论】:
基本上,当您开发其他开发人员将使用的类时:
public 方法和变量是其他开发人员将(需要) 使用的 -- 你的类做什么private 方法和变量是您作为该类的开发人员用来使其工作的东西 - 这是您的类如何在内部工作>.其他人需要能够使用您的课程;但不知道它是怎么做到的。
如果您想了解更多,您必须搜索封装。
【讨论】:
Private 是与我们班级的内部工作有关的任何东西,不应被触及(左消毒)。例如,可能是目录的路径或 Web 服务的路径,这对使用该类的人没有用处,但很大程度上取决于该类的操作方式。
Public 通常是您希望向使用该类的任何内容公开的任何内容,例如生成的值、用户名/密码配置——这些内容(尽管该类已设置 [通用] 功能)可能特定于 那个实例或运行时。
把它想象成经营一家企业;您可以向您的客户提供服务,让他们了解他们需要哪些信息才能进行操作(公共信息)。作为补充,您需要自己的信息(供应商、定价等),您不希望他们知道,但需要正常运行(私人)。
【讨论】:
如果变量或方法是私有的你不能从外部访问它一个对象。这样您(作为程序员)将不会直接使用它,这让面向对象库的创建者可以更改其内部。而且这些更改对您的代码是透明的,因为更改只涉及私有元素,公共 API 保持不变。
另一个好处就是我们所说的封装。如果数据无法从外部访问(私有),您必须要求对象(通过其公共 API)为您做事,而不是获取其数据。它有助于以他们设计的方式使用对象,以使用能够构建更大更稳定的系统的方式。
【讨论】: