Jeff的隨手筆記

學習當一個前端工程師

0%

『新手日記』Day-23 OOP物件導向程式設計

『新手日記』Day-23 OOP物件導向程式設計

https://miro.medium.com/max/1400/1*n2QyVDVEE7rDEMb9hWjLvg.jpeg

人家上班族放國慶連假,我這個全職學習仔居然也學人家放假…這禮拜要加倍努力補回來。

在之前談到ODM(文件資料庫) 與 ORM(關聯式資料庫)時有提到,他們兩個都是讓開發者可以使用『物件導向』語法來操作的資料庫,那什麼是物件導向?

物件導向

物件導向,完整名稱為Object-oriented programming(物件導向程式設計),使用物件的方式來模擬真實世界中的事物。ㄜ …有點抽象,換一總解釋。

假設我們有1隻手機要賣,我是不是要把他的名稱、價格、照片、特色等等的資料用一個物件的方式包起來,但假如我現在有100隻手機要賣,如果我照著一隻手機的寫法寫100次這樣太讓費時間了,因此我們會先統一為手機物件建立一個抽象化的簡單模型,然後在程式中使用此模型來快速建立結構一致的手機物件實例 (instance)。

簡單來說,他是將相關的變數(屬性)與函式(方法)結合成一個單位(也就是物件)

OOP的四大pillar

OOP總共有四大支柱,分別是:

Encapsulation(封裝)

我們可以把許多屬性、方法包裝成一個物件使用

Abstraction(抽象)

將此物件的某些屬性與方法隱藏(hide)起來。

Inheritance(繼承)

是繼承者擁有某些屬性或是方法,我們很常在Event Delegation(事件指派)裡面使用到

https://medium.com/@cycivs07/%E6%96%B0%E6%89%8B%E6%97%A5%E8%A8%98-day-13-javascript-dom-event-15b668d937a

Polymorphism(多型)

使用相同名稱的方法,傳入不同的參數,會執行不同的指令。

越學越深才知道自己真的懂的很少,就以今天這個主題來說,簡單講可以像這樣舉例然後介紹,但往深一點去研究光一個繼承可能就要弄個老半天。

近期有在想是不是該結束這個類鐵人挑戰的系列,目前進入實作的複習感覺題材變少好多,還在猶豫的時候突然發現我的一個未看文章的資料夾

https://miro.medium.com/max/800/1*-xlxPhAYlGBC1Rpdh-KuNA.png

恩找到方向了,接下來都會先把這些文章消化完並且找到分享的主題。

參考資料:
teagan-hsu.coderbridge.io

https://developer.mozilla.org/zh-TW/docs/Learn/JavaScript/Objects/Classes_in_JavaScript