前言
在 JavaScript 的世界裡我們很容易聽見物件導向這樣的名詞,那麼究竟物件導向又是什麼東西呢?這是接下來要了解的內容,我們先從什麼是物件導向起手吧。
什麼是物件導向
根據 MDN 的解釋是這樣的:
物件導向程式設計(Object-Oriented Programming、OOP)是一種程式設計方法。其將資料封裝(encapsulate)於物件(objects)中,我們需透過物件間接操作這些被封裝的內部資料,而非直接操作資料本身。
其實我們上一小節寫的閉包範例就有一點物件導向的味道了,讓我們回顧一下:
1361 行的時候,此時的 myWallet
是個物件,而我們透過了這個錢包物件間接的操作了被封裝的內部資料(像是 myMoney
),而不是直接的操作資料本身。
- 像是 1362 行,可以很好的讀懂,錢包內多了錢
- 1363 行,錢包的錢被用掉了
透過了這個間接的行為,可以讓我們更清楚的知道
- 「誰」多了錢
- 「誰」的錢被用掉了
在這裡自然是 myWallet
這個物件。
可是如果我們不使用物件導向的概念來寫,就像一開始寫那樣:
有個很明顯的缺點,就是:
- 沒辦法單獨於 1338 行看出「誰」多了錢
- 沒辦法單獨於 1339 行看出「誰」的錢被用掉了
儘管這兩種寫法都可以得到一樣的結果,但卻是有物件導向概念的比較容易被讀懂。
以上就是關於什麼是物件導向的基本認知,下一節我們要學習更多物件導向的基礎範例~