我不太了解C ++中的类的重点

时间:2016-03-02 16:17:42

标签: c++11

为什么需要类的公共和私有部分,为什么在使用全局变量完成同样的事情时需要基线变量。

3 个答案:

答案 0 :(得分:1)

面向对象的编程实际上并不容易总结 - 肯定不是在这里的一个答案中,绝对不是我的。

但总的来说,让我们从全局变量不能替代成员变量这一事实开始。他们是两个不同的东西。事实上,这些成员变量也存在于常规C结构中。拥有成员的关键是你可以轻松地传递大块内存并通过名称引用其中的偏移量。这很方便。

现在,至于为什么需要封装(公共和私有),答案是你没有。这是该语言允许您使用的功能,这可以帮助程序员避免错误。例如,您将某个函数或成员变量设为私有,而其他程序员如果不遵守规则则无法编译其程序。这比避免此类错误的文档更有力。同时,它提升了表达能力,因为那时阅读代码的人可以说:“哦,这只是一个实现细节;这里是我可以使用的实际公共API。”

并非所有人都支持OOP,没有人必须这样做。它是一个潜在有用的范例。由于使用频繁,所以掌握它并理解它是个好主意 - 即使你不想自己使用它。需要时间和实践来加深对使用OOP可以实现的结构的理解。整个行业始终提出新的模式。这就是使它成为范例而非技术的原因。

答案 1 :(得分:0)

基本思想是将所有内容尽可能放在本地。这可以防止出现安全问题。

另外,为什么你会使用全局变量?原则是你需要的一切都在同一个班级内,如果你不需要它,那么它就不在那里。

尝试在Google上搜索有关OOP的信息,您可以找到有关范围存在的更多信息。

答案 2 :(得分:0)

因为您不希望将所有变量或函数公开给其他类。例如,如果您创建API,则需要“隐藏”类的实现细节,并且只公开公共方法,以便使用API​​的人更容易搞砸。

这也是一种很好的编码实践,称为“封装”。您应该阅读https://en.wikipedia.org/wiki/Encapsulation_(computer_programming)

比喻是一辆汽车。作为驾驶员,您不需要知道当您驾驶车轮,换档或按下油门/离合器时会发生什么的技术细节。好吧,对于对象/类,它是一样的。