第15課 類與封裝的概念 狄泰軟體學院

2022-06-21 06:36:09 字數 2473 閱讀 6489

類與封裝的概念(上)

類的組合

電腦一般而言是由cpu、記憶體、主機板、鍵盤和硬碟等部件組合而成。

類通常分為以下兩個部分

—類的實現細節

—類的使用方式

當使用類時,不需要關心其實現細節

當建立類時,才需要考慮其內部實現細節

例:. 普通使用者使用手機

只需要學習如何發簡訊,打**,拍照等等

. 手機開發工程師

需要考慮手機內部的實現細節

封裝的基本概念

封裝:字面意思就是將不想被人知道的東西隱藏起來,不對外公開。

—根據經驗:並不是類的每個屬性都是對外公開的

如:女孩子不希望外人知道自己的體重和年齡

如:男孩子不希望別人知道自己的身高和收入

—而一些類的屬性是對外公開的

如:人的姓名,學歷,國籍等

—必須在類的表示法中定義屬性和行為的公開級別

類似於檔案系統中檔案的許可權

c++中類的封裝

—成員變數:c++中用於表示類屬性的變數

—成員函式:c++中用於表示類行為的函式

—c++中可以給成員變數和成員函式定義訪問級別

在程式中如何表示封裝這個概念呢?

用private和public來表示

.public

成員變數和成員函式可以在類的內部和外界訪問和呼叫

.private

成員變數和成員函式只能在類的內部被訪問和呼叫

類與封裝的概念(中)

程式設計實驗:

1 #include 2

3 #include 4

5struct

biology 6;

910struct

animal : biology

1117

};18

19struct

plant : biology 20;

2324

struct

beast : animal

2529

};30

31struct

human : animal

3237

38void

work()

3942

};43

44struct

girl : human

4558

};59

60struct

boy : human

61

77};

7879

intmain()

80

view code

從上面的程式可以看出:

女生的私有變數為age和weight,這兩個變數只能在類的內部使用,如果在類的外部使用,就會出錯。為什麼,因為這是我的隱私,不想讓外界來看到我以及使用我。

男生的私有變數為height和salary,這兩個變數只能在類的內部使用,如果在類的外部使用,就會出錯。為什麼,因為這是我的隱私,不想讓外界來看到我以及使用我。在這裡如果類的外部訪問age和weight,是完全ok的,因為它是public的。

這就是封裝的體現,這就是訪問級別的體現。

類與封裝的概念(下)

類成員作用域

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

成員函式可以直接訪問成員變數和呼叫成員函式

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

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

注意:類的作用域僅僅是說明在定義的類裡面是可以訪問的,不管有沒有訪問級別它都是這樣的,訪問級別

僅僅是去防止外面的函式訪問內部的成員變數。

c++中用struct定義的類中所有成員預設為public

1 #include 2

3int i = 1;4

5struct

test619

};20

21int

main()

22

view code

:: 表是要訪問預設命名空間中變數i的值,預設的命名空間是什麼?其實就是全域性作用域,因此::i = 1。

這個程式告訴我們,對於類而言,它是有作用域的,類的作用域僅僅指的是類的成員變數以及成員函式的作用域。

如果要訪問乙個類的成員變數或成員函式,必須要通過乙個類物件,有了類物件就可以去訪問了,但是訪問是否成功還需要看

成員變數和成員函式的訪問級別了。

小結:類通常可以分為使用方式和內部細節兩部分

類的封裝機制使得使用方式和內部細節相分離

c++中通過定義類成員的訪問級別

實現封裝機制

public成員可以在類的內部和外界訪問和呼叫

private成員只能在類的內部被訪問和呼叫

15 類與封裝的概念

類通常分為兩個部分 當使用類時,不需要關心其實現細節 當建立類時,才需要考慮其內部實現細節。封裝的基本概念 c 中類的封裝 public 成員變數和成員函式可以在類的內部和外界訪問和呼叫 private 成員變數和成員函式只能在類的內部被訪問和呼叫 範例 類成員的訪問屬性 include inclu...

第五十八課 類模板的概念和意義 狄泰軟體學院

一 在c 中是否能夠將泛型程式設計應用於類?類模板一些類主要用於儲存和組織資料元素 類中資料組織的方式和資料元素的具體型別無關 如 陣列類,鍊錶類,stack類,queue類 c 中的類模板 以相同的方式處理不同的型別 在類宣告前使用template進行標識 用於說明類中使用的泛指型別t templ...

C 15 類於封裝的概念

電腦一般而言是由 cpu,記憶體,主機板,鍵盤和硬碟等部件組合而成。思考 學習電腦組裝需要多少時間?學習電腦組裝是否需要學習顯示器,鍵盤,滑鼠,主機板,記憶體等部件的設計與製造?例 手機開發工程師 而一些類的屬性是對外開放的 必須在類的表示法中定義屬性和行為的公開級別 include struct ...