4-1数据的封装
1.如何进行数据封装
未进行数据的封装,成员变量容易发生数据的泄露:
进行数据的封装(这是面向对象的思想),成员变量设为private属性,只能通过set和get方法来赋值和取值,提高了数据的安全性:
2.封装的好处
(1)可以对成员变量的赋值范围进行限制
未封装:
`封装后:`
(2)限定成员变量只可读取不可设置
只提供get方法不提供set方法:
3.代码演示
#include <iostream>
#include <string>
using namespace std;
/**
* 定义类:Student
* 数据成员:名字、性别、学分、学习
*/
class Student
{
public:
void setName(string _name){//类内定义方法
m_strName = _name;
}
string getName(){
return m_strName;
}
void setGender(string _gender){
m_strGender = _gender;
}
string getGender(){
return m_strGender;
}
double getScore(){
return m_dScore;
}
void initScore(){
m_dScore = 0.0;
}
void study(double _score){
m_dScore += _score;
}
private:
string m_strName;
string m_strGender;
double m_dScore;
};
int main()
{
// 实例化一个Student对象stu
Student stu;
stu.initScore();
// 设置对象的数据成员
stu.setName("青阳");
stu.setGender("男");
stu.study(5.0);
stu.study(3.0);
// 通过cout打印stu对象的数据成员
cout << stu.getName() << " " << stu.getGender() << " " << stu.getScore() << endl;
system("pause");
return 0;
}