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对象stuStudent 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;
}