1.0 C++遠(yuǎn)征:數(shù)據(jù)的封裝

4-1數(shù)據(jù)的封裝

1.如何進(jìn)行數(shù)據(jù)封裝

? 未進(jìn)行數(shù)據(jù)的封裝,成員變量容易發(fā)生數(shù)據(jù)的泄露:

數(shù)據(jù)的封裝1.png

? 進(jìn)行數(shù)據(jù)的封裝(這是面向?qū)ο蟮乃枷耄蓡T變量設(shè)為private屬性,只能通過(guò)set和get方法來(lái)賦值和取值,提高了數(shù)據(jù)的安全性:
數(shù)據(jù)的封裝2.png

2.封裝的好處

? (1)可以對(duì)成員變量的賦值范圍進(jìn)行限制

? 未封裝:

數(shù)據(jù)的封裝3.png
    `封裝后:`
數(shù)據(jù)的封裝4.png

? (2)限定成員變量只可讀取不可設(shè)置

? 只提供get方法不提供set方法:

數(shù)據(jù)的封裝5.png

3.代碼演示

#include <iostream>
#include <string>
using namespace std;

/**
* 定義類:Student
* 數(shù)據(jù)成員:名字、性別、學(xué)分、學(xué)習(xí)
*/
class Student
{
public:
    void setName(string _name){//類內(nèi)定義方法
        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()
{
    // 實(shí)例化一個(gè)Student對(duì)象stu
    Student stu;
    stu.initScore();
    // 設(shè)置對(duì)象的數(shù)據(jù)成員
    stu.setName("青陽(yáng)");
    stu.setGender("男");

    stu.study(5.0);
    stu.study(3.0);

    // 通過(guò)cout打印stu對(duì)象的數(shù)據(jù)成員
    cout << stu.getName() << " " << stu.getGender() << " " << stu.getScore() << endl;

    system("pause");
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 11,123評(píng)論 6 13
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 31,759評(píng)論 18 399
  • 《ilua》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 1...
    葉染柒丶閱讀 10,918評(píng)論 0 11
  • 重點(diǎn)掌握 3 類對(duì)象和方法 對(duì)象就是一個(gè)物體 類的獨(dú)特存在就是一個(gè)實(shí)例,對(duì)實(shí)例進(jìn)行操作叫做方法。方法可以應(yīng)用于類或...
    Coder大雄閱讀 1,276評(píng)論 0 2
  • 第一次動(dòng)手做手工就愛(ài)上了這個(gè)過(guò)程,雖然作品有瑕疵,但是看見(jiàn)成品還是很開(kāi)心,以后還會(huì)繼續(xù)手作。這是個(gè)很讓人享受的過(guò)程...
    十安與哈哈閱讀 302評(píng)論 0 2