1:封装的作用
C++面向对象三大特性:封装,继承,多态。C++认为万事万物皆可为对象,对象有其属性行为。
封装:
1:将属性和行为作为一个整体,表现生活中的事务
2:将属性和行为加以权限控制
案例:
属性有圆周率,半径。行为有求圆周长。 设计一个圆类,
#include<iostream>#include<string>using namespace std;const double PI = 3.14;class Circle {public:int m_r; // 半径// 行为:求圆周长double calculate() {return 2 * PI * m_r;}};int main() {Circle c1; // 创建圆的对象c1.m_r = 10; // 半径赋值。cout << "圆的周长为: " << c1.calculate();return 0;}
打印结果: 圆的周长为:62.8
2:访问权限
我们在设计类的时候,通常会把属性和行为放在不同的权限下,加以不同的管理,访问全向一般有三种:
1:public 公共权限,类内可以访问,类外也可以访问
2: protected: 保护权限,类内可以访问,类外不能访问。
3:private:私有权限,类内可以访问,类外也可以访问。
保护权限和私有权限主要体现在继承上
比如:父类的保护权限,子类是可以访问的,父类的私有权限 ,子类斯不能访问的。
3:struct和class的区别
默认情况下,struct权限是公共权限,class权限是私有权限。
4:成员属性私有化
成员属性私有化的优点
1:将所有成员属性设置为私有,可以控制读写权限
2:对于写权限,我们可以检测数据的有效性。