[討論] Object Oriented C 實用性

看板C_and_CPP作者 (Cory)時間8年前 (2015/10/07 01:18), 編輯推噓4(5114)
留言20則, 8人參與, 最新討論串1/1
各位大大好: 小弟最近在寫嵌入式的中小型程式 (2000~5000 行) 但是深深覺得寫起來感覺很亂 function 滿天飛 不像 C++ 或 Java 有 class 物件導向的特性 寫起來脈絡比較清楚 由於有用到系統 Lib 跟 FreeRTOS 全面用C++改寫會很多問題 所以只能在既有的 ANSI C / C99 做開發 剛好發現 OOC (Object Oriented C) 這個東西 乍看之下好像很美好 struct 、 function pointer 包裝一下 就能模擬基本的 class 功能 再上去繼承、多型聽說會有些問題與限制 不過我也很少用 所以沒差 想請 OOC 這種寫法在業界有人在用嗎 ? 會不會有什麼後遺症、隱憂 ? 感謝回答 ps. 整個 project 算是獨立新系統 無歷史包袱 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.40.214 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1444151898.A.DD4.htmlcory8249:轉錄至看板 Soft_Job 10/07 01:21

10/07 09:09, , 1F
確實有人在用, 尤其除了繼承和多形的部分還滿廣泛的
10/07 09:09, 1F

10/07 09:10, , 2F
(我說的是概念上廣泛, 不是 OOC 這個語言廣泛)
10/07 09:10, 2F

10/07 09:12, , 3F
我是覺得不一定要 depend 這個語言, 只要拿概念來用就好
10/07 09:12, 3F

10/07 11:47, , 4F
C語言有適合自己的編程泛式,個人建議不要拿JAVA那種
10/07 11:47, 4F

10/07 11:50, , 5F
Class-based OO 來寫 C 程式,這樣只會越搞越麻煩
10/07 11:50, 5F

10/07 11:51, , 6F
畢竟每個語言都有適合自己的風格。不過C語言也會用到
10/07 11:51, 6F

10/07 11:51, , 7F
很多 OO 的概念,不過 C 的寫法就是 struct + function
10/07 11:51, 7F

10/07 11:53, , 8F
只做簡單的介面設計與資料封裝就好。
10/07 11:53, 8F

10/07 11:57, , 9F
BTW,繼承多型不一定是OOP很重要的東西,詳見Rust與Go
10/07 11:57, 9F

10/07 12:08, , 10F
還有那些模仿JAVA的C語言OOP用法會把Funtion pointer
10/07 12:08, 10F

10/07 12:09, , 11F
放在Struct裏,不知道你用的硬體夠不夠開銷這些記憶體?
10/07 12:09, 11F

10/07 13:44, , 12F
gtk+那種嘛....很恐怖... 多形就變成強制轉型
10/07 13:44, 12F

10/07 14:23, , 13F
要不要參考一下chromebook的ec寫法?XD
10/07 14:23, 13F

10/07 23:46, , 15F
kernel code差不多就是這種概念 但沒有強套OO的特性
10/07 23:46, 15F

10/08 20:56, , 16F
ec哪部份的寫法? code 很大,, 有具體的範圍嗎?
10/08 20:56, 16F

10/09 13:54, , 17F
用檔案.c做分類?剛好也可用來作scope控制
10/09 13:54, 17F

10/09 17:00, , 18F
超實用的
10/09 17:00, 18F

10/09 17:01, , 19F
gcc沒差 其它編譯器就寫簡單一點
10/09 17:01, 19F

10/10 02:03, , 20F
樓上好兇喔 你當這邊八卦版嗎 幫補血
10/10 02:03, 20F
文章代碼(AID): #1M509QtK (C_and_CPP)