7.C++類與封裝的概念


類通常分為以下兩部分

  • -內部具體實現
  • -外部使用方法

比如:

用戶使用手機,只需要知道如何使用.

手機開發者,則需要考慮手機內部的實現細節.

 

 

類的封裝

並不是類的每個成員變量和成員函數都要對外公開

比如:

女孩不希望外人知道自己的體重weight和年齡age

男孩不希望外人知道自己的身高height和工資salary

而某些屬性是對外公開的

比如:姓名,學歷,國籍等.

所以在類里,可以給成員變量和成員函數定義訪問級別:

  • -public   公開成員,允許成員變量和成員函數可以被類內部和外界使用(默認為public)
  • -private   私有成員,只能被類內部使用

  

類成員的作用域

類成員的作用域都只在類的內部,外部無法直接訪問

成員函數可以直接訪問成員變量調用成員函數

類的外部可以通過類變量訪問public成員

類成員的作用域訪問級別沒有關系

 

參考如下代碼:

#include <stdio.h>

int i = 1;          //定義全局變量
 
struct Test
{
private:
    int i;         //定義私有成員變量i

public:
    int j;
  
    int getI()
    {
        i = 3;       
        return i;
    }
};


int main()
{
    int i = 2;      //定義局部變量i

    Test test;

    test.j = 4;

    printf("i = %d\n", i);   // i = 2; 使用局部變量

    printf("::i = %d\n", ::i);    // ::i = 1;使用全局變量

    // printf("test.i = %d\n", test.i);// Error 訪問私有成員,出錯

    printf("test.j = %d\n", test.j); //test.j = 4   

    printf("test.getI() = %d\n", test.getI()); 
// test.getI()=3 通過公開成員,去訪問私有成員 return 0; }

 

小結

類通常分為使用方法內部細節兩部分

類的封裝機制(public/private)使得使用方法和內部細節相分離

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM