作者cory8249 (Cory)
看板C_and_CPP
标题[讨论] Object Oriented C 实用性
时间Wed Oct 7 01:18:15 2015
各位大大好:
小弟最近在写嵌入式的中小型程式 (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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1444151898.A.DD4.html
※ cory8249:转录至看板 Soft_Job 10/07 01:21
1F:→ uranusjr: 确实有人在用, 尤其除了继承和多形的部分还满广泛的 10/07 09:09
2F:→ uranusjr: (我说的是概念上广泛, 不是 OOC 这个语言广泛) 10/07 09:10
3F:→ uranusjr: 我是觉得不一定要 depend 这个语言, 只要拿概念来用就好 10/07 09:12
4F:推 ronin728: C语言有适合自己的编程泛式,个人建议不要拿JAVA那种 10/07 11:47
5F:→ ronin728: Class-based OO 来写 C 程式,这样只会越搞越麻烦 10/07 11:50
6F:→ ronin728: 毕竟每个语言都有适合自己的风格。不过C语言也会用到 10/07 11:51
7F:→ ronin728: 很多 OO 的概念,不过 C 的写法就是 struct + function 10/07 11:51
8F:→ ronin728: 只做简单的介面设计与资料封装就好。 10/07 11:53
9F:→ ronin728: BTW,继承多型不一定是OOP很重要的东西,详见Rust与Go 10/07 11:57
10F:→ ronin728: 还有那些模仿JAVA的C语言OOP用法会把Funtion pointer 10/07 12:08
11F:→ ronin728: 放在Struct里,不知道你用的硬体够不够开销这些记忆体? 10/07 12:09
12F:推 soheadsome: gtk+那种嘛....很恐怖... 多形就变成强制转型 10/07 13:44
13F:→ james732: 要不要参考一下chromebook的ec写法?XD 10/07 14:23
15F:→ ah7675: kernel code差不多就是这种概念 但没有强套OO的特性 10/07 23:46
16F:推 yshihyu: ec哪部份的写法? code 很大,, 有具体的范围吗? 10/08 20:56
17F:推 xvid: 用档案.c做分类?刚好也可用来作scope控制 10/09 13:54
18F:嘘 damody: 超实用的 10/09 17:00
19F:→ damody: gcc没差 其它编译器就写简单一点 10/09 17:01
20F:推 ronin728: 楼上好凶喔 你当这边八卦版吗 帮补血 10/10 02:03