四 類和物件 4 1封裝

2021-10-19 11:17:14 字數 2292 閱讀 7906

二、c++中class和struct的區別

三、成員屬性設定為私有

總結c++認為萬事萬物皆為物件,物件上有其屬性和行為。

例如:

人可以作為物件,屬性有姓名、年齡、身高、體重…,行為有走、跑、跳、唱歌…

車也可以作為物件,屬性有輪胎、方向盤、車燈…,行為有載人、放**…

具有相同型別的物件,我們可以抽象稱為類,人屬於人類,車屬於車類。

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

本章主要介紹c++物件導向的三大特徵之一——封裝。

將屬性和行為作為乙個整體,表現生活中的事物。

將屬性和行為加以許可權控制

封裝意義1將屬性和行為作為乙個整體,表現生活中的事物

**如下(示例):

#include

using

namespace std;

const

double pi =

3.14

;//設計乙個圓類

class

circle

//class 類的名稱};

intmain()

執行結果如下:

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

訪問許可權有三種:

1、public: 公共許可權           

類內可以訪問,類外也可以訪問。

2、protected: 保護許可權

類內可以訪問,類外不可以訪問。

3、private: 私有許可權

類內可以訪問,類外不可以訪問。

保護許可權與私有許可權在繼承中會詳解,在此簡單理解一下子。

保護許可權呢,就是兒子可以訪問父親的保護內容。

私有許可權呢,就是兒子不能訪問父親的私有內容。

**如下(示例):

#include

#include

using

namespace std;

class

person

//class大括號裡的均為類內,大括號外的均為類外};

intmain()

由此可見,s1.m_password 是不可訪問的。同理,s1.m_car也是不可訪問的。

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

區別:

**如下(示例):

#include

using

namespace std;

classc1;

struct c2

;int

main()

如圖,生成時會出現以上錯誤。

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

對於寫許可權,我們可以檢測資料的有效性

**如下(示例):

#include

#include

using

namespace std;

class

person

//獲取年齡 可讀

void

getage()

//設定年齡 只寫

void

setage

(int age)

m_age = age;

}//設定情人 只寫

void

setlover

(string lover)

private

://姓名 唯讀

string m_name;

//年齡 可讀可寫

int m_age;

//情人 只寫(不要在意細節emmmm)

string m_lover;};

intmain()

執行結果如下:

設定只寫許可權就寫乙個set函式,唯讀許可權就寫乙個get函式,可讀可寫那兩個函式都寫。

以上就是封裝的基本內容啦,最後來乙個靈魂拷問,你有物件了嗎?啊哈哈哈哈哈哈。

C 類和物件(一) 封裝

2.struct 和class的區別 3.成員屬性設為私有 4.練習案例 c 物件導向的三大特性 封裝,繼承,多型c 認為萬事皆可為物件,物件上有其屬性和行為 例如 物件 車 屬性 輪胎,方向盤,喇叭,車燈 行為 載人,駕駛,照明 具有相同性質的物件,抽象位類 車屬於車類 將屬性和行為作為乙個整體,...

C 類和物件(一) 封裝

c 物件導向的三大特性 封裝 繼承 多型。c 中萬物皆物件,物件包含屬性 成員變數 成員屬性 和行為 成員函式 成員方法 封裝的意義 1 將屬性和行為作為乙個整體,表徵現實的事物 2 對屬性和行為進行許可權控制。訪問許可權包括3種 public 公共許可權 成員在類中和類外均可訪問。protecte...

C 物件導向(一)封裝 類和物件

封裝 繼承 多型 封裝 組織 的過程,將 組織為乙個方法,將方法組織成類,將類組成元件,不同的元件組織為乙個系統。封裝可以方便使用者使用,並且能夠保證 的穩定性,安全性。類 一組相似物件的統稱。物件 乙個例項,是類的實現。類與物件的關係類物件 抽象具體 無狀態有狀態 是物件的模板 是類的例項 類與類...