c++ 類與物件
區分物件導向與面向過程:
物件導向是指一種程式設計范型,同時也是一種程式開發的方法。它將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性、靈活性和擴充套件性。
物件導向:
利用物件間的訊息傳遞來驅動程式的執行。
優點:
真實表現客觀世界,物件間的關係清晰,物件間的訊息處理高效。
面向過程:
強調處理問題的過程。
不足之處:
復用性較差,無法真實描繪客觀世界。
類的定義:
類定義是以關鍵字 class 開頭,後跟類的名稱。類的主體是包含在一對花括號中。類定義後必須跟著乙個分號或乙個宣告列表。
例:class box
;關鍵字 public 確定了類成員的訪問屬性。在類物件作用域內,公共成員在類的外部是可訪問的。也可以指定類的成員為private或protected.
定義 c++ 物件:
類提供了物件的藍圖,所以基本上,物件是根據類來建立的。宣告類的物件,就像宣告基本型別的變數一樣。
例如宣告類 box 的兩個物件:
box box1; // 宣告 box1,型別為 box
box box2; // 宣告 box2,型別為 box
物件 box1 和 box2 都有它們各自的資料成員。
訪問資料成員
類的物件的公共資料成員可以使用直接成員訪問運算子 (.) 來訪問。
為了更好地理解這些概念,舉例如下:
#include
using namespace std;
class box
;int main( )
};或者:
double box::getvolume()
#include
using namespace std;
class box
;// 成員函式定義
double box::getvolume()
void box::setlength(double l)
void box::setbreadth(double b)
void box::setheight(double h)
int main(
當上面的**執行時,它會產生下列結果:
box1 的體積: 210
box2 的體積: 1560
c++類的靜態成員:
使用 static 關鍵字來把類成員定義為靜態的。當宣告類的成員為靜態時,這意味著無論建立多少個類的物件,靜態成員都只有乙個副本。
static靜態資料成員:
封裝性、繼承性、多型性。
需要注意的幾點:
i. c++的基本框架:
定義類主函式(包括物件的定義:物件. 成員名
物件只能通過成員使用,不能整體操作)
ii. 物件不能定義全域性
iii. 類成員的訪是類
返回值型別 類名::成員函式
成員函式重點對資料成員做操作
iv. 成員函式有兩個作用:
1) 運算元據成員,包括訪問和修改在資料成員
2) 協同不同的物件操作(傳遞資訊)
v. 物件成員的訪問包括:
1) 圓點訪問形式:物件名.共有成員
2) 指標
複製建構函式
複製建構函式是一種特殊的建構函式,它在建立物件時,是使用同一類中之前建立的物件來初始化新建立的物件。拷貝建構函式通常用於:
通過使用另乙個同型別的物件來初始化新建立的物件。
複製物件把它作為引數傳遞給函式。
複製物件,並從函式返回這個物件。
心得體會:
類與物件是乙個新的概念(物件導向),包含了許多新的概念,不同於前段時間的學習的內容(面向過程)。比如說類是水果的話,那麼物件就是蘋果。而學習類與物件後我們就有了c++ 程式的基本框架:定義類+ 主函式。利用類與物件可以將所要編寫的系統或者分為幾個類來處理,既可以有條不紊的將所有問題考慮進去又能在出現故障時及時的發現問題所在之處,總之我感覺自己在c++這條路上越走越遠,學得的知識越來越豐富。同時需要注意的是由於編寫的**較長並且複雜,需要我們在寫程式時每定義完乙個類就要除錯並且調通,然後再寫下乙個類,最終才能寫出乙個正確的或者錯誤少的的程式,這也是我們專業老師給我恩一直強調的地方。
C 類與物件
程式設計模型 所有計算機均由兩種元素組成 和資料.精確的說,有些程式是圍繞著 什麼正在發生 而編寫,有些則是圍繞 誰正在受影響 而編寫的.抽象封裝 封裝是一種把 和 所操作的資料 在一起,使這兩者不受外界干擾和誤用的機制.繼承 繼承是指乙個物件從另乙個物件中獲得屬性的過程.是物件導向程式設計的三大原...
C 類與物件
類是物件導向的核心機制,是物件導向設計中對具有相同或相似性質的物件的抽象,是對資料和操作進行封裝的載體,進而保證了對資料的安全 高效 合理的訪問 物件是類的例項,是類的具體個體,對應現實世界的實體。類的定義 class 類名 void showclock 習慣上在類的宣告中只定義函式的原型,在類外定...
C 類與物件
物件導向 物件是指類的例項,將物件作為程式的基本單元,將程式和資料封裝在其中,以提高軟體的重用性,靈活性和擴充套件性。物件導向的三大特性 封裝 繼承 多型 類是現實世界對實體的抽象類別的對映,它是乙個模型,定義出乙個類並沒有分配實際的記憶體空間來儲存它。每個物件的大小為類中所有成員變數的大小之和,並...