2 類和物件

2022-08-28 22:12:16 字數 959 閱讀 3486

1.什麼是類?

類是物件導向程式設計的基礎。

乙個類定義乙個資料型別,很像c語言中的結構體。乙個類具有狀態(成員變數)和改變狀態的操作(成員函式或介面)

2.什麼是物件?

物件通常指的是乙個類的例項。

3.什麼是乙個好的介面?(乙個類中定義了很多方法,我們呼叫方法,就是呼叫介面)

a.隱藏不必要的細節,減少呼叫失敗的概率

b.準確定義,好理解。不能有陡峭的學習過程。

4.什麼是封裝?

防止未授權的訪問成員變數或者成員函式。  

乙個類中有易變的部分(某個狀態)和穩定的部分(獲取這個狀態的方法)。封裝就是在易變的部分外新增乙個防火牆。

阻止外部直接訪問易變部分。

這個易變的部分,就是你設計類的細節。易變的部分使用protected或者private關鍵字封裝。類的繼承也是一種封裝

方式。穩定的部分是介面。介面用public關鍵字封裝,或者介面就是友元函式。

5. c++如何權衡安全性和可用性?

c語言中,在編譯單元中宣告static型別變數來實現封裝。這阻止了另外乙個模組來訪問靜態的變數。

乙個型別的例項,訪問多個型別的static型別變數是不可能的。如果要實現這個功能,就得使用結構體。但是結構體中所

有型別都是public的,所以使用c語言封裝有安全性考慮。

在c++中,你可以通過乙個類同時擁有多個例項和封裝。類的公共部分包含類的介面,通常由類的公有成員函式及其友

元函式組成。類的私有/受保護的部分包含類的實現,這通常是資料存在的位置。

最終的結果就像乙個「封裝結構」。 這減少了安全(資訊隱藏)和可用性(多個例項)之間的權衡。

6.是不是封裝就意味著安全?

不!封裝不等於安全!

封裝能阻止錯誤,但是不能阻止間諜。

7.關鍵字struct和class的區別。

struct中預設是public型別。class中預設是private型別。

2 類和物件

類即類別 種類,是物件導向設計最重要的概念,從一小節我們得知物件是特徵與技能的結合體,而類則是一系列物件相似的特徵與技能的結合體。那麼問題來了,先有的乙個個具體存在的物件 比如乙個具體存在的人 還是先有的人類這個概念,這個問題需要分兩種情況去看 世界上肯定是先出現各種各樣的實際存在的物體,然後隨著人...

類和物件2

一,建構函式 特性 函式名與類名相同。無返回值。物件例項化時編譯器自動呼叫對應的建構函式。建構函式可以過載。class date date void init int year,int month,int day void init date this,int year,int month,int ...

2 類和物件

類是一種資料型別,設計時系統不為類分配儲存空間,所以不能去訪問類裡面的資料成員,也不能去初始化類裡 面的資料成員。只能訪問這個類所產生的物件的資料成員 前提是共有 eg 類相當於圖紙是描述和規劃的藍圖,而物件就是圖紙例項化後的實體物件 樓房 計算機不給類分配記憶體,只給物件分配記憶體。建立物件有兩種...