類和物件(一) 類 物件概念及定義

2021-10-14 05:34:40 字數 1283 閱讀 3343

c++是基於物件導向的語言,並不是純物件導向的語言,因為它包含c的部分,c是面向過程的語言

一、物件導向

概念:物件導向程式設計(oop)是一種程式設計的泛型,同時也是一種程式開發的方法,它將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性、靈活性和擴充套件性

二、類和物件的概念

類:類是現實世界在計算機中的反映,它將資料和對這些資料的操作封裝在一起(並沒有開空間)

物件:類的例項(占有實際的空間)

class student //類

private:

int _num;

char* _name;

int _age;

};int main()

1)類相當於蓋樓房的圖紙一樣,雖然定義了有哪些成員,但並沒有實際的空間

2)類可以例項化出多個物件,例項化出的物件占有實際空間(用來儲存成員變數)

三、類的三大特性:

1.封裝 2.繼承 3.多型

封裝:函式的封裝是一種形式,隱藏物件的屬性和實現細節(函式內部),僅僅對外提高函式的介面和物件進行互動。

類的訪問限定符可以協助其完成封裝

四、類的三個訪問限定符

1.public:公有的,類的成員可以從類外直接訪問

2.private/protected:類的成員不能從類外直接訪問

3.類的每個訪問限定符可以多次在類中使用,作用域為從該限定符開始到下乙個限定符之前/類結束

4.類中如果沒有定義限定符,則預設為私有的(private)

5.類的訪問限定符體現了類的封裝性

因為_name是私有的,所以在類外不能使用,而_age,eat()是公有的,所以在類外可以直接使用

五、類的定義

1.定義乙個簡單的類

2.類的物件可以直接通過 . 來訪問類的公有成員,類的物件指標可以通過->來訪問類的公有成員

class person

public:

int _age;

char* _name;

};int main()

;void person::display()//類外定義

六、類的大小

類的成員函式放在公共**區,所有該類的物件共享這些成員函式,每個物件的大小為類內成員變數的大小之和,遵循記憶體對齊原則

1.為什麼要記憶體對齊?

答:為了提高程式的效能,方便cpu訪問記憶體,處理器並不是乙個位元組乙個位元組來訪問記憶體,一般是4個位元組或8個位元組

2.空類佔多少個位元組?為什麼?

答:空類佔1個位元組,佔位用,告訴系統我這裡定義了乙個類,雖然它是空的

C 類和物件概念及定義

物件導向物件導向是一種程式設計范型,同時也是程式開發的一種方法。物件是指類的例項,將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性 靈活性和擴充套件性。需要明確的是 c語言是面向過程語言,而c 不是純粹的物件導向語言,而是基於物件導向的語言,因為c 包含c語言的部分。物件導向的三大...

C (三)類和物件概念及定義

概念 是一種程式設計泛型,同時也是一種程式開發的方法。物件指的是類的例項,將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性,靈活性,和擴充套件性。c 不是純物件導向語言,而是基於物件導向語言,因為包含c語言 1 public成員可從類外部直接訪問,private protected...

物件導向(一) 類

class class nameobject name 乙個或者幾個物件的標識 class crectanglerect 是crectangle型別的物件的名稱 crectangle 和 rect的關係就像 int 和變數a的物件一樣 int 型別名 a 物件名,變數 如果物件需要呼叫類裡面的函式,...