C 學習(8) 封裝

2022-08-13 02:45:14 字數 1812 閱讀 1786

c++物件導向的三大特性:封裝繼承多型

c++認為萬事萬物都可以為物件,物件上有其屬性行為

具有相同性質的物件,可以抽象為類

封裝是c++物件導向三大特性之一

封裝的意義:

封裝意義一:

​ 在設計類的時候,屬性和行為寫在一起,表現事物

語法class 類名;

示例1:設計乙個圓類,求圓的周長

#includeusing namespace std;

//圓周率

const double pi = 3.14;

//設計乙個圓類,求圓的周長

//圓求周長的公式:2*pi*半徑

class circle

};int main()

示例2:設計乙個學生類,屬性有姓名和學號,可以給姓名和學號賦值,可以顯示學生的姓名和學號

#include#includeusing namespace std;

class student

void setname(string name)

};int main()

封裝意義二:

類在設計時,可以把屬性和行為放在不同的許可權下,加以控制

訪問許可權有三種:

#include#includeusing namespace std;

// public 公共許可權 成員 類內可以訪問,類外可以訪問

// protected 保護許可權 成員 類內可以訪問,類外不可以訪問 子類可以訪問父類的保護內容

// private 私有許可權 成員 類內可以訪問,類外不可以訪問 子類不可以訪問父類的保護內容

class person

};int main()

在c++中struct和class唯一的區別就在於預設的訪問許可權不同

區別:

#include#includeusing namespace std;

class c1;

struct c2;

int main()

優點1:將成員屬性設定為私有,可以自己控制讀寫許可權

優點2:對於許可權,我們可以檢測資料的有效性

#include#includeusing namespace std;

class person

//讀姓名

string getname()

//讀年齡

int getage()

//寫年齡————————有效性驗證

void setage(int age)

m_age = age;

}//寫愛人

void setlover(string name)

private:

string m_name; //姓名 可讀可寫

int m_age = 20; //可讀可寫,但範圍必須在0~150之間

string m_lover; //只寫

};int main()

C 學習筆記(3) 封裝

封裝是c 物件導向三大特性之一 封裝的意義 1 封裝的意義 2 類在設計時,可以把屬性和行為放在不同的許可權下,加以控制。在c 中,共有三種許可權 公共許可權 public 類內可以訪問 類外可以訪問 保護許可權 protected 類內可以訪問 類外不可以訪問 私有許可權 private 類內可以...

C 學習筆記(九) 封裝

c 物件導向的三個特性 封裝 繼承和多型。意義 將屬性和行為作為乙個整體,表現生活中的整體。將屬性和行為加以許可權控制。屬性 用資料描述 行為 用函式描述 許可權 public 公共許可權 類內可以訪問,類外也可以訪問。protected 保護許可權 類內可以訪問,類外不可以訪問。兒子可以訪問父親的...

angular8 封裝元件

元件封裝的意義和方法 需要重用,或者簡化邏輯 ng generate component元件名 駝峰模式 使用index.ts方便匯入以及隔離內部變化對外部的影響 ng g c 元件名 駝峰模式 如果想在某個資料夾下新建元件 ng g c 檔名 元件名 駝峰模式 在每乙個資料夾下新建乙個index....