『新手日記』Day-23 OOP物件導向程式設計
人家上班族放國慶連假,我這個全職學習仔居然也學人家放假…這禮拜要加倍努力補回來。
在之前談到ODM(文件資料庫) 與 ORM(關聯式資料庫)時有提到,他們兩個都是讓開發者可以使用『物件導向』語法來操作的資料庫,那什麼是物件導向?
物件導向
物件導向,完整名稱為Object-oriented programming(物件導向程式設計),使用物件的方式來模擬真實世界中的事物。ㄜ …有點抽象,換一總解釋。
假設我們有1隻手機要賣,我是不是要把他的名稱、價格、照片、特色等等的資料用一個物件的方式包起來,但假如我現在有100隻手機要賣,如果我照著一隻手機的寫法寫100次這樣太讓費時間了,因此我們會先統一為手機物件建立一個抽象化的簡單模型,然後在程式中使用此模型來快速建立結構一致的手機物件實例 (instance)。
簡單來說,他是將相關的變數(屬性)與函式(方法)結合成一個單位(也就是物件)
OOP的四大pillar
OOP總共有四大支柱,分別是:
Encapsulation(封裝)
我們可以把許多屬性、方法包裝成一個物件使用
Abstraction(抽象)
將此物件的某些屬性與方法隱藏(hide)起來。
Inheritance(繼承)
是繼承者擁有某些屬性或是方法,我們很常在Event Delegation(事件指派)裡面使用到
Polymorphism(多型)
使用相同名稱的方法,傳入不同的參數,會執行不同的指令。
越學越深才知道自己真的懂的很少,就以今天這個主題來說,簡單講可以像這樣舉例然後介紹,但往深一點去研究光一個繼承可能就要弄個老半天。
近期有在想是不是該結束這個類鐵人挑戰的系列,目前進入實作的複習感覺題材變少好多,還在猶豫的時候突然發現我的一個未看文章的資料夾
恩找到方向了,接下來都會先把這些文章消化完並且找到分享的主題。
參考資料:
teagan-hsu.coderbridge.io
https://developer.mozilla.org/zh-TW/docs/Learn/JavaScript/Objects/Classes_in_JavaScript