程式設計概念:面向物件程式設計 (OOP)
外觀

程序式程式設計使用過程使程式碼更易於編寫和理解,而面向物件程式設計 (OOP) 則更進一步,使用物件使程式碼更易於建立和使用。
在 OOP 中,"物件"一詞具有特殊的含義:物件被定義為組織原始碼的一種特定方式。簡而言之,物件是以下內容的組合:
- 一些相互關聯的資料(即變數)
- 專門設計用於處理這些資料的過程
|
示例 汽車可以用 Car 物件來表示。
|
如果程式只需要幾行原始碼就能寫完,那麼使用這種技術沒有任何優勢。程序式程式設計和麵向物件程式設計之所以被髮明出來,是因為程式越來越長,越來越難以使用。程式設計師需要更多的結構來簡化程式設計過程。
中等大小和複雜程度的程式可以使用過程來簡化。對於特別大或複雜的程式,過程是不夠的;OOP 作為一種處理這些非常複雜程式的方法而流行起來。
程式在原始原始碼中可能很複雜 - 很多行程式碼,很多過程。或者它在編寫方式上可能很複雜 - 很多人類作者,不同部分之間有很多互動。OOP 對這兩種情況都有幫助。
在涵蓋關鍵概念後,我們將詳細分析支援和反對 OOP 的理由。
OOP 起源於觀察程序式程式設計中更有效(更易於編寫,錯誤更少)的編寫方式。在程序式程式設計中可選的幾種技術成為了 OOP 的核心。
- 封裝 - 一種程式語言機制,用於限制 IT 開發人員對物件某些資料的直接訪問。Student 物件可以具有公共變數 knowledge_level 和私有變數 critical_information)。
- 聚合 - 聚合物件是一個包含其他物件的物件。例如,Car 類將包含 Engine、Wheels、Cabin、Fuel 物件。有時類指的是現實世界的物理物件(如汽車)。有時它更抽象(例如,大學和學生)。
- 組合 - 組合類似於聚合,但它是一種即時技術。使用介面,您可以即時替換物件。但物件必須具有相同的型別。
- 介面 - 介面將實現與結構分離。它就像汽車的數字音訊面板 - 您可以在搖滾、古典音樂或例如星光 FM 電臺之間進行選擇。當物件的實現可以互換時,這個概念很有用。此外,請注意,如果實現頻繁更改,您可以使用這種技術!