什麼是C++物件導向程式設計

2020-07-16 10:04:40
目前最常用的程式設計方法有兩種,即:程序式程式設計物件導向程式設計(Object-Oriented Programming, OOP)

程序式程式設計是一種以執行程式操作的過程或函數為中心編寫軟體的方法。程式的資料通常儲存在變數中,與這些過程是分開的。所以必須將變數傳遞給需要使用它們的函數。與之不同的是,物件導向程式設計則是以物件為中心。

程序式程式設計對於軟體開發人員來說已經有好多年了。然而,隨著程式變得越來越複雜,程式資料與執行程式碼的分離可能會導致問題。例如,程式的規範經常會發生變化,從而需要更改資料的格式或資料結構的設計。當資料結構發生變化時,對資料進行操作的程式碼也必須更改為接受新的格式。查詢需要更改的所有程式碼會為程式設計師帶來額外的工作,並增加了使程式碼出現錯誤的機會。

這個問題促成了從程序式程式設計向物件導向程式設計的轉變。OOP 以建立和使用物件為中心。一個物件(Object)就是一個軟體實體,它將資料和程式在一個單元中組合起來。物件的資料項,也稱為其屬性,儲存在成員變數中。物件執行的過程被稱為其成員函數。將物件的資料和過程系結在一起則被稱為封裝

注意,在有些物件導向的程式語言中,物件執行的過程稱為方法。

圖 1 顯示了一個Circle物件的外觀。它只有一個儲存資料的成員變數和兩個成員函數。Circle物件的成員變數是radius。其setRadius成員函數用於設定radius半徑,而calcArea 成員函數則用於計算並返回圓面積。

Circle對象包含一個成員變量和兩個成員函數
圖 1 Circle 物件包含一個成員變數和兩個成員函數