面向對象三大特征:封裝、繼承、多態。
**封裝**:封裝是一種把代碼和代碼所操作的數據捆綁在一起,使這兩者不受外界干擾和誤用的機制。封裝可被理解為一種用作保護的包裝器,以防止代碼和數據被包裝器外部所定義的其它代碼任意訪問。
**繼承**:繼承是指一個對象從另一個對象中獲得屬性和方法的過程。它支持按層次分類的概念,如果不使用層次的概念,每個對象需要明確定義各自的全部特征,通過層次分類方式,一個對象只需要在它的類中定義使它成為唯一的各個屬性和方法。
**多態**:多態是指同一個實體同時具有多種形式。同一操作作用于不用的對象,可以有不同的解釋,產生不同的執行結果。在運行時,可以通過指向基類的引用,來調用實現派生類中的方法。
面向過程
優點:性能比面向對象高。
缺點:沒有面向對象易維護、易復用、易擴展。
面向對象
優點:易維護、易復用、易擴展。由于面向對象有封裝、繼承、多態性的特征,可以設計出低耦合的系統,使系統更加靈活,更加易于維護和擴展。
缺點:性能比面向過程低。
## 復用性不佳
按過程來的話,不同過程中相似的代碼也不好進行復用,前半段的過程中用到的邏輯,在后半段再次使用的話需要再寫一遍,如果是相同的邏輯,修改也會出現很多復雜問題。
## 拓展性不易
舉個例子,相同的邏輯,如果要有兩份相似邏輯,那在面向過程中,就很多時候需要寫兩份。
## 耦合度高
有一個比喻很合適,說面向過程是蛋炒飯,面向對象是蓋澆飯,即,面向過程很難將內容剝離開,都混在了一起,要改一個東西,往往會改全文;而面向對象改的時候就改得比較少。
但面向過程也有好處,迭代快速開發,在一些如 48 小時比賽寫個程序的,快速迭代,按過程分割就比較適合面向過程。
- 空白目錄
- 流水線
- 流水線性能測評
- 計算機性能測評
- 流水線設計
- 購物車狀態機
- 序列檢測器
- 序列檢測10010
- 序列檢測10010帶圖
- 反相器
- 計數器
- 分頻電路
- 偶數分頻
- 奇數分頻
- 小數分頻
- 同步復位異步釋放all
- 對的-異步復位同步釋放原理
- 同步復位異步釋放
- 異步復位為什么要同步釋放 ?
- FPGA-異步復位同步釋放 通俗解釋
- 同步復位
- 狀態機
- 狀態機的分類
- 狀態機5個要素
- FIFO
- 異步fifo中同步為什么要用兩級觸發器
- 亞穩態
- 亞穩態的產生機理、消除辦法 (可以理解為什么打拍)
- 面向對象思想
- 為什么D觸發器有setup time和hold time的要求
- Tsu,Tco,Th,Tpd的概念
- verilog
- 自啟動
- 毛刺
- 馮諾依曼