經過如此多年,我才真正認識它。
簡述
物件導向的特點就是都會有個「對象」,最明顯的地方是「呼叫 function 的方式」。
下面是一個用「閉包」實作出來的範例。雖然不是正規作法,但包含了物件導向的理念:
1 | function createWallet(initMoney) { |
這種對 xxx 做某件事的行為就稱為「物件導向」,以上面的例子來說,不管是 deduct
還是 show
,都是在對 myWallet
這個對象來執行。所以物件導向基本上都會有一個明確的對象。
如果不是物件導向的話,就會像下面這樣,透過直接呼叫 function 的方式來完成:
1 | deduct(1000) |
為什麼要物件導向?
在物件導向的世界哩,會把每樣東西都看成是一個一個的「對象(模組)」,這樣的好處有幾點:
- 比較好管理(模組化)
- 可以避免有人直接操控變數之類的問題。