八 類的封裝

2021-07-05 15:02:28 字數 1142 閱讀 9176

類通常分為以下兩個部分

類的使用方式

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

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

例:使用手機時,只需要知道如何發簡訊,打**,拍照等待即可,不需要關心手機是如何開發出來的。

手機開發工程師就需要考慮手機的內部實現細節,如硬體細節和軟體細節

封裝的基本概念

根據日常生活中的經驗:並不是類的每個屬性都是對外公開的

屬性如:女孩子不希望外人知道自己的年齡和身高

行為如:一些男孩子不希望別人知道自己會尿床

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

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

因此,需要在類的表示法中定義屬性和行為的公開級別

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

c++中類的封裝

成員變數

c++中用於表示類屬性的變數

成員函式

c++中用於表示類的行為的函式

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

public

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

private

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

此處有example8-1.cpp

類成員的作用域

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

成員函式可以直接訪問成員函式和呼叫其他成員函式

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

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

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

類的真正形態

struct在c語言中已經有了自己的含義,只能繼續相容

在c++中提供了新的關鍵字class用於定義類

class和struct的用法是完全相同的

class和struct有什麼區別?

在struct定義類時,所有成員預設屬性為public

在用class定義時,所有成員的預設屬性都是private

類的精華在於封裝

將實現細節和使用方式分離

c++中童工public和private實現類的封裝

public成員可以通過變數被外界訪問

private成員只能夠在類的內部使用

類的定義和實現可以分開到不同的檔案中 

c 筆記(八) 類

類,物件,類成員 字段 方法 用類建立乙個物件,用new運算子,類裡面用來描述特徵的變數稱為這個類的字段 car car new car 使用物件呼叫欄位時,用點運算子得到欄位並賦值,如果在類外部使用欄位時,字段一定用public修飾 red 100.5 bmw 用點運算子點出來的成員,前面如果是 ...

Dart基礎語法 八 類(中)

本節主要記錄一下dart中關於類的使用 getters 和 settersclass rect void main 可覆寫的操作符 即使用關鍵字operator重新定義已有操作符的實現邏輯 如list就重寫了 以下是支援覆寫的操作符 import dart math class rect void ...

PHP類例項教程(八) 類的繼承

繼承是物件導向最重要的特點之一,就是可以實現對類的復用。通過 繼承 乙個現有的類,可以使用已經定義的類中的方法和屬性。繼承而產生的類叫做子類。被繼承的類,叫做父類,也被成為超類。php是單繼承的,乙個類只可以繼承乙個父類,但乙個父類卻可以被多個子類所繼承。從子類的角度看,它 繼承 inherit e...