封装的意义:
1.将属性和行为作为一个整体,表现生活中的事物
2.将属性和行为加以权限控制
(补充:C++的中的对象包括属性和行为,其中以人类为例,人类的属性有姓名和ID号等,
人类的对象有吃饭,唱跳等的行为。(类似于函数及其参数))
封装的意义一:
设计类的时候,属性和行为放在一起,表现事物
语法:class 类名{访问权限:属性/行为};
例1:设计一个圆类求圆的周长(dev-c++)
代码如下:
#include<iostream>
using namespace std;
class Circle
{
public://访问权限
const double pi= 3.14;//圆周率一般情况下是定值
int m_r;//圆的半径(圆的属性)
double calculateZC(int r)
{
m_r=r;
double c=2*pi*r;
return c;
} //圆类中的行为
};
int main()
{
Circle c1;//实例化一个圆c1
cout<<"圆的周长为:"<<c1.calculateZC(10) ;
return 0;
}
运行结果如下:
例2:设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示学生的姓名和学号
代码如下:
#include<iostream>
#include<string>
using namespace std;
class student
{
public://访问权限
//类中的属性和行为我们统称为成员
//属性(成员属性 成员变量)
int m_ID;
string m_name;
//行为(成员函数 成员方法)
void SetID(int ID)
{
m_ID=ID;
}
void setname(string name)
{
m_name=name;
}
//用于显示学生姓名和学号的函数
void showstudent()
{
cout<<"学生的姓名为:"<<m_name<<endl;
cout<<"学生的学号为:"<<m_ID<<endl;
}
};
int main()
{
student s1;
s1.setname("张三") ;//按题意,必须以函数的方式传参数
s1.SetID(2020445);
s1.showstudent();
return 0;
}
运行结果如下:
封装的意义二:
类在设计时,可以把属性和行为放在不同的权限下加以控制
访问权限有三种:
1.public 公共权限(成员类内可以访问,类外可以访问)
2.pretected 保护权限(成员类内可以访问,类外不可以访问,子可以访问父的保护内容)
3.private 私有权限(成员类内可以访问,类外不可以访问,子不可以访问父类的私有内容)