首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

感悟 C 語言中的面向對象思想:框架化、抽象與三大經典實現模式

     編輯:C 語言基礎

面向對象核心:框架化與抽象

面向對象解決「品牌樣式多樣、購買過程不可預測」類問題。將行為對象化、抽象歸類,簡化為幾個主要有機組合(框架化)。如電腦由主板、CPU、各類卡組成(框架),忽略具體型號差異(抽象)。

本質:大型工程分層次結構,每層由抽象結構連接為整體(框架化),結構間獨立可進化(繼承/多態),層間統一通訊機制(消息/事件)。

C 語言三大「面向對象」經典手法

  1. 宏定義多態:#define MacroFunction AFunction,需換實現時改宏定義為 BFunction,調用處無需變動。
  2. 靜態入口函數 + 標志位分發:典型如網卡驅動 Nilan(int FunctionCode, Para*),內部 switch(FunctionCode) 調用子功能。
    優勢:層間接口極小(單一入口),采用名字解析而非直接調用,實現接口限制與名字解析解耦。新增功能只需擴展參數值。
  3. 回調函數:用函數指針實現無需重編譯即可動態擴展功能。雖調用需兩次內存訪問(指針→函數),效率略低,但在非極致苛刻環境下可接受。
    風險:導致代碼「支離破碎」,閱讀時難以知曉指針指向何函數,需配合先進程序框架規範使用。

總結

C++ 在語言級支持繼承/多態,C 需自力更生。但通過宏、入口函數分發、回調函數三大模式,完全能在 C 中落地面向對象設計思想,構建可擴展、可維護的框架化系統。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved