The word is procedural. The word is also object-oriented.
書上的這兩句話即是本章重點,我們的世界就是由程序性及物件導向組成,本文接下來會緊扣著這兩句話繼續探討。
時間流動著,事件一件件發生,舉例來說:每天早上我們盥洗、出門、上班……,這一系列的活動構成「程序性」。
每個產生互動的物體我們稱之為「物件」,每個物件會擁有自己的「行為」,在這些物件中,每一個都擁有它們自己的行為,而且它們之間某些互 動或許還是可預測的。
舉例來說:家中的貓咪與毛線球,彼此都是一個物件,貓咪在玩毛線球的互動為傳遞訊息的行為,而此過程我們稱之為「物件導向」。
解釋了程序性與物件導向的不同,想必大家還是跟我一樣有點模糊吧!本書主要著重於物件導向的探討,那麼究竟什麼是物件導向呢?物件導向又有什麼值得學習的部分呢?
先來看看 wiki 對於物件導向程式設計的定義:
Object-Oriented Programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code.
The data is in the form of fields (often known as attributes or properties), and the code is in the form of procedures (often known as methods).
簡單來說,物件導向的應用程式是由彼此交互的元件組成其整體行為。這裡的元件可以想像成現實世界中的「物件」,物件本身包含了「資料」和「方法」,「資料」就是事物的資訊或屬性,而「方法」就是該事物與其他事物傳遞訊息的方式。
因此,我們在開發新的應用程式時,應將每個部分視為一個元件,每個元件各司其職,透過傳遞訊息的方式達成互動,有了這個基礎的概念後,可以幫助我們更近一步去理解物件導向設計的特色與優點。
物件導向程式設計的5個概念:
現在有稍稍的理解物件導向程式了嗎?今天先帶大家看到這邊,我們明天再接續物件導向設計原則的部分!
參考資料: