先用物件導向看軟體設計
我們在此,使用C++來做個簡單的解釋
C++ without OO的Hello World
一個main,執行了一行cout,顯示一個字串,簡潔有力。
結構化程式設計
運用結構化程式設計的方式,除了帶入了if, loop之類的,還有function的寫法。
主程式呼叫了一個函數,函數內容就顯示一個字串。 優點就是可以重覆使用這個函數的內容,而不再是複製、貼上了。
物件導向程式設計
這叫做「用一個類別(X)的物件來做這個動作」(這句比之前的描述更像自然語言了)
X.h
X.cpp
main.cpp
看完有沒有發現code變得好複雜,說好的Hello World呢?不是很簡單的嗎?我們來看看它的優缺點。
優點
建立類別,管理程式碼。
物件可以模組化重覆呼叫使用。
缺點
使用了大量的記體體空間
程式呼叫物件與function 之間,浪費了些許的時間成本。
咦?怎麼沒有提到....「程式碼的呼叫變得更複雜」呢?
物件導向,是提供一套設計工具,讓程式設計師方便管理程式碼。也許你會問「明明就更複雜了,怎麼還會是『更好的管理』呀?應該是變簡潔才對呀!哪有比較好?」
也許多年以後,Hello World變成了更多行的程式碼。更多的if-else邏輯描述,一個又一個的function跑了出來,讓程式碼愈來愈看不出,這是在執行什麼東西。
但是,物件導向是一套可以讓「真實執行的程式碼」管理得更有條有理的方式,就像是心智圖一樣。
Last updated
Was this helpful?