封装的基本概念
在讲类与封装的概念之前,我们先说一个例子。大家平时应该组装过电脑,我们知道一台电脑通常由四大部分(CPU、主板、内存、硬盘)组成。因此我们在组装电脑的时候,通常仅仅是把CPU、主板、内存、硬盘这些部件的接口相互连接起来就行。我们不必知道这些部件是怎么设计和制造的,仅仅了解如何使用它们各自的接口就行。实际上这就是我们生活中一个封装的例子。
由此我们可以得到封装的基本概念或者基本特征。如下
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式,正是因为封装这个基本特征,我们在设计类时可以将属性和行为定义不同的公开级别。
通常我们在设计类时有如下三种权限:
(1)公共权限 public:类内可以访问,类外可以访问,即可被任何实体访问
(2)保护权限 protected:只允许子类即本类的成员函数访问
(3)私有权限 private 只允许本类的成员函数访问
类的设计
现在我们看看应该如何设计类,在C++中,类的定义方法如下:
class 类名 {访问权限:属性/行为};
示例代码:
#include
using namespace std;
class Num
{
public:
int m_a;
protected:
int m_b;
private:
int m_c;
};
int main() {
Num p;
p.m_a = 1;
// p.m_b = 2;
//p.m_c = 3;
system(“pause”);
return 0;
}
在上面代码中,我们定义了一个Num类,而且争对三种不同的属性m_a、m_b、m_c,分别给予了三种不同的权限public、protected、private。在main函数中我们会发现仅仅只有具有public权限的m_a这个属性这个访问。造成这个现象的原因就是保护权限 protected和私有权限 private在类外不可以访问,只能在类内访问,而public类外和类内都可以访问。
综上所述,相信大家已经掌握了面向对象三大特性之一封装的基本概念、类的设计及访问权限。