Re: [請益] 怎樣算是會物件導向跟資料結構

作者: rhythm7321 (rhythm7321)   2019-06-19 18:30:08
※ 引述《j0958322080 (Tidus)》之銘言
: 小弟因為非本科系,碩班主要都是寫小小的數值計算而已,
: 都是用C99特性去寫的,所以沒什麼需要OOP跟資料結構,
: 但是目前在軟體部工作同事的用C++寫的CODE也事都看得懂,
: 不過面試時如果主管只有問你懂OOP跟資料結構,我也不敢說我懂。
: 請問怎樣才能算懂OOP跟資料結構
這是我的看法,希望拋磚引玉
Q:請解釋何謂物件導向
物件導向設計是一個程式的設計架構
傳統上的架構是結構化處理程序
即所有的資料處理都由主程式負責
維護上是整個資料、函式要一起維護
因為資料、函式之間沒有隔閡
很容易因為修改這個導致另一個函式出錯
也不好找bug
當規模越大越容易牽一髮動全身
物件導向就是一種新的思考模式
它將資料和處理方法封裝成一個獨立物體
主程式、物件之間需透過
抽象介面去存取、操作
(抽象是指不須要知道、不用提供底層資訊
只要高層級的要求,介面會幫你實現)
而不是直接存取資料,存取空間彼此區隔
分工可以很明確,容易找到出錯的點
這樣的目的是為了
減少當需求改變或增加所造成的影響
避免更動到原本設計好的程式碼
當需求增加時我們可以透過 繼承、多型
或新增新的類別 去更新程式碼
而不需要更動過測試好的程式碼
當規模越大,維護上會比傳統上輕鬆
我也是非本科,以上是自學、聽來的想法
歡迎高手指正><

Links booklink

Contact Us: admin [ a t ] ucptt.com