物件導向這命名雖然意思上沒錯,但對於剛接觸的人卻過於文謅謅了,其實它的意思是將人類世界裏的東西都當作一個物件,以這個物件的運行方式去思考。比如要做一個公司的員工系統,那員工就可以設定為物件,而在現實生活中這個員工有的資訊最好在物件中都有,這樣未來新增功能的時候會更彈性一點。員工都會有部門,所以可能也要加入部門資料,這樣未來也能知道一個部門有多少員工。另外到職時間也能用來計算年資核發獎金,所以可能也需要這樣的資料。
這邊其實就提到了兩個重要的概念
- 概念抽象
- 運用邏輯
概念抽象
這邊是指像是你的姓名、生日、戶籍地或身分字號,我們在生活中很多的事情都會需要用到這類相關訊息,可以將它們抽象為身分證,這樣未來我們只需要以身分證溝通就好了,減少了溝通成本。
而程式其實是一堆指令,而這堆指令其實都能抽象成更高階的行為,不但更好理解也能更容易的被使用。
運用邏輯
就如同一開始舉的員工系統例子,當我們將一堆資料抽象成員工資料後,我們就很容易想像這個資料該有什麼以及它該如何被使用,就如同它在真實世界被使用的那樣。
最後簡單來說
物件導向就是讓程式接近人類世界的方式
留言
張貼留言
有什麼想法歡迎跟我們分享