C++学习笔记(6)——类和对象之封装的意义
C++面向对象的三大特性为:封装、继承、多态。本文主要介绍了封装。
语法:class 类名 { 访问权限:属性 / 行为 };
封装的意义
1.将属性和行为作为一个整体,表现各种事物
实例1:
//圆周率
const double PI = 3.14;
//封装一个圆类,求圆的周长
//class代表设计一个类,后面跟着的是类名
class Circle
{
public://公共的权限
//属性
int m_r;//半径
//行为
//获取圆的周长
double calculateZC()
{
//2*pi*r
//获取圆的周长
return 2 * PI * m_r;
}
};
int main()
{
//通过圆类,创建圆的对象
//d1就是一个具体的圆
Circle d1;
d1.m_r = 10;//给圆的半径进行赋值操作
//2*pi*10==50
cout << "圆的周长为:" << d1.calculateZC() << endl;
system("pause");
return 0;
}
2. 将属性和行为加以权限控制。
访问权限有三种:
- public 公共权限
- protected 保护权限
- private 私有权限
实例2:
class Person
{
//姓名 公共权限
public:
string m_Name;
//轿车 保护权限
protected:
string m_Car;
//银行卡密码
private:
int m_Password;
public:
void func()
{
m_Name = "张三";
m_Car = "拖拉机";
m_Password = "123456";
}
};
int main()
{
Person p;
p.m_Name = "赵四";//公共权限可以访问
//p.m_Car="轿车"//保护权限不可以访问
//p.m_Password=123;//私有权限不可以访问
system("pause");
return 0;
其中保护权限和私有权限需要学习继承之后加以区分(保护权限儿子可以访问父亲中的保护内容,而私有权限儿子不可以访问父亲中的私有内容)