1. 什么是類?什么是對象?兩者之間什么關系?
類是一類事物的共同特征的抽象描述,它定義這類所有的屬性和方法
- 可以理解為模版
- 類本身不占用空間,它只是一種定義,描述了對象一個是什么樣子、能做什么
對象是根據類創建的具體實體,它擁有類中定義的屬性和方法,并且占用實際的內存空間。
- 可以理解為“模版的具體產物
- 每個對象的屬性可以有不同的值,但是都遵循類的類的定義和結構體是行為。
類和對象 的關系:
- 類是對象的抽象,對象是類的實例
- 類是數據類型,對象是變量
- 一個類可以創建多個對象
2. 對象的組成有哪些?類定義的一般格式?
在面向對象編程中,對象由兩個部分組成:屬性和方法
屬性(成員變量)
描述對象的靜態特征,即對象鎖具有的特征或狀態
方法(成員函數)
描述對象的動態行為,即對象能執行的動作或功能
類定義的核心是通過 class
關鍵字,結合訪問控制符,封裝屬性(成員變量)和方法(成員函數),為創建對象提供模板。
3. 類中成員的訪問屬性有哪些?分別表示什么意思?
在C++類中,成員(包括成員變量和成員函數)訪問屬性通過訪問訪問控制符來定義,用于控制類外成員的訪問。共有三種訪問屬性,分別是公有、私有、和保護。
- public(公有成員)
- 類的公有成員可以被類內部,類外部以及該類的派生類直接訪問。
- 用于定義類外暴露“接口”,即允許外部通過對象直接調用的方法或需要公開的屬性,是類與外部交互的窗口
- private(私有成員)
- 類的私有成員只能被類內部的成員訪問,類外部(包括通過對象直接訪問)和派生類都是不能直接進行訪問的
- 用于隱藏類內部實現細節,比如核心數據,僅通過公有方法間接操作,確保數據的安全,是封裝的核心體現。
- protected(保護成員)
- 類的保護成員可以被類內部和該類的派生類訪問,但是類的外部不能直接訪問。
- 介于共有和私有之間,主要繼承場景,允許子類訪問父類的某些成員,同時限制外部的訪問。
訪問屬性 | 類內部 | 類外部 | 派生類 | 用途 |
---|---|---|---|---|
public | 可訪問 | 可訪問 | 可訪問 | 定義對外接口 |
private | 可訪問 | 不可訪問 | 不可訪問 | 隱藏內部數據 |
protected | 可訪問 | 不可訪問 | 可訪問 | 允許子類繼承的中間數據 |