對象是擁有狀態和行為的程序實體。它是現實世界事物在代碼中的虛擬映射——你的狗、桌子、自行車、手機,皆可建模為對象。
| 事物 | 狀態 | 行為 |
|---|---|---|
| 狗 | 名字、顏色、品種、是否飢餓 | 脫毛、撿東西、搖尾巴 |
| 自行車 | 當前檔位、踏頻、速度 | 變速、換踏板、剎車 |
| 收音機 | 開關、音量、頻道、音調 | 開關、調音量、換台、掃描 |
觀察身邊事物,問自己:「它有哪些狀態?能做什麼行為?」這就是面向對象建模的起點。
方法控制對象內部狀態,對象間通過方法調用交互。封裝 隱藏內部細節,只暴露方法接口,是面向對象的基石。

自行車對象擁有三個狀態:currentSpeed、currentCadence、currentGear;提供 changeGear()、speedUp()、applyBrakes() 等方法。外部無法直接修改檔位,只能通過 changeGear(3) 方法,內部自動處理邊界檢查、鏈條張力調整等邏輯。
對象 = 狀態 + 行為 + 封裝。掌握這三者,就掌握了面向對象設計的靈魂。下一步,學習類、繼承、多態,將這些概念落地為代碼架構。