OOP淺談(軟體革命-物件導向)
Object Oriented Programming 物件導向程式設計
-
序言
0與1的世界
一如英文中Computer一詞來自於Compute般,電腦最擅長的就是處理龐大的數字計算,也稱為資料處理。但以現在電腦的功能來看,電腦處理的工作已經讓人感覺不到,電腦只能做計算。學商的用電腦來做報表,學工程的用電腦做力學分析,你家的小孩更可能天天耗在電腦前完Game。而前一陣子IBM那個會下西洋棋,名叫深藍(Deep Blue)的超級電腦,更進一步挑戰人類的智慧。電腦現在做的事幾乎已經讓人感覺不出它的本質-數字計算。但是別忘了,不論電腦處理什麼事情,電腦終究處理的還是最基本的0與1。
-
將真實世界量化
如何讓0與1處理這許多工作,這是電腦科學中最重要的,也是最神奇的部分。而這個部分牽涉一個重要的觀念—量化。就像前面所講的,現在電腦做的事,完全不像計算,而是模擬。用電腦模擬做報告的編輯動作、模擬材料受力後的行為、模擬下西洋棋。雖然電腦做的事不像計算,但是終究處理的只是0與1。所以在電腦模擬的過程裡,必須將真實世界的事物量化為數字。將真實世界的事物量化為數字後,電腦才能進行運算,完成資料處理。而這整個量化模擬的過程,我們稱之為抽象化,而抽象化的過程就要靠思維(人類因思維而偉大)的運作。
-
抽象化(抽象畫?)
電腦系統的抽象化,主要分為兩種,一是資料的抽象化,另一個處理過程的抽象化,資料的抽象化,將現實生活中的資料抽象化為電腦程式中的變數,處理的流程的抽象化則將現實生活中事件發生的過程轉化為程式的執行流程。以圖書館系統來說,書的抽象化結果是名稱、出版商、作者…等變數。借書/還書的作業流程抽象化後,將成為執行程式運作變數的過程。