轻量级的C语言面向对象编程框架-阿里云开发者社区

开发者社区> 技术小美> 正文

轻量级的C语言面向对象编程框架

简介:
+关注继续查看
轻量级的C语言面向对象编程框架(约130行代码)
 
摘要:
本文推荐一种新开源(2010.1.24开源)的轻量级的面向对象C编程框架LW_OOPC(Light Weight Object-oriented Programming with C),总共一个.h文件、25个宏、约100行代码,非常的轻量级,但很好的支持了很多的面向对象特性,比如继承、多态(非完全意义上的多态,因为要提供类型,不是完全统一的形态),可以很优美的实现面向接口编程。
这个框架是由台湾高焕堂先生以及他的MISOO团队创作了第一个版本之后,又由金永华改进优化,再以LGPL协议开源出来的。
这个框架的面世与高焕堂的著作《UML+OOPC嵌入式C语言开发精讲》有关。
 
为什么要用面向对象?
面向过程方式开发的系统,代码复杂,耦合性强,难以维护,是大家都知道的。
面向对象,改变了程序员的思维方式,以更符合客观世界认知规律的视角来认识世界,进行抽象,从而在更高的抽象层次上解决问题。
抽象层次高,意味着高屋建瓴,能够看清全貌,能够控制全局,能够以简洁的方式轻松扩展反映现实世界。
这样构建的系统,能够在不同的抽象层次上理解和掌握,越高抽象层次越简单,越容易把握。
所以学习起来,自顶向下,可以逐步深入,很容易理解和掌握系统。
当然,上述这一点只是从理解系统的难度上做的粗浅的分析。
从另外一个方面讲,面向对象极大的解除了耦合,提高了模块的内聚性。
从而使得复用更轻松,测试更轻松,理解也更轻松,因为不必整个系统全部了解,可以每个模块各个击破,再结合上面的不同抽象层次的理解,就可以把握整个系统了。
 
为什么要用C实现面向对象?
虽然C++已经出现很久了,但C语言的生命力还是非常旺盛。
刚从JAVA/C#转到C的同事,无法从面向对象切换到面向过程,但又必须与C语言同事们在遗留的C系统上开发软件,就非常需要C语言实现面向对象的手段。
C和C++之争由来已久,估计从C++出生就有了,估计要持续到它们中的一种去世^_^
在这个争论不休的年代,往往各种原因使得语言的选择身不由己,这个时候C也能实现OO,将给您带来失去C++后不用失去OO的欣慰。
 
怎么用C实现面向对象?
本文推荐一种新开源(2010.1.24开源)的轻量级的面向对象C编程框架LW_OOPC(Light Weight Object-oriented Programming with C),总共一个.h文件、20个宏、约130行代码,非常的轻量级,但很好的支持了很多的面向对象特性,比如继承、多态(非完全意义上的多态,因为要提供类型,不是完全统一的形态),可以很优美的实现面向接口编程。同时对内存分配做了很好的处理,支持在堆上动态生成对象,也支持在栈上生成对象,动态生成的对象还能进行内存分配释放跟踪,避免内存泄露。
另外,也有很多其它C实现面向对象的参考资料,
比如:
1、1993年出现的《Object-oriented Programming with ANSI-C》,可能是这方面资料的鼻祖吧?
2、这里也有一个参考网址:
3、Google或者百度一下,还可以找到不少相关资料。
 












本文转sinojelly51CTO博客,原文链接:http://blog.51cto.com/sinojelly/281184,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
c语言运算符号详细说明
C语言中具有右结合性的运算符包括所有单目运算符以及赋值运算符(=)和条件运算符。其它都是左结合性。 判断表达式计算顺序时,先按优先级高的先计算,优先级低的后计算,当优先级相同时再按结合性,或从左至右顺序计算,或从右至左顺序计算。
861 0
C语言项目开发-项目架构和编程命名规范
一个项目的流程: 1、公司市场人员与客户交流,了解客户、引导客户使用公司最优资源并产出一份市场需求文档 2、公司需求人员(BA)与客户交流,了解客户需求并产出一个软件需求文档 3、项目经理、开发小组成员、需求人员(BA)一起开一个需求评审会议,对不合理的地方,    打回给BA,再由BA与客户沟通 4、程序员接到和充分了解软件需求文档后产生软件设计文档(包括概要设计文档和详细设计文档,    涉及到数据库的还需要进行数据库的设计) 5、程序员根据设计文档进行编码、调试、打包发布。
1097 0
带你读《C指针原理揭秘:基于底层实现机制》之二:C语言快速入门
本书从底层实现机制进行解析,同时配合C/C++编程技巧以及某些指针运用技巧,讲解如何提高程序效能,如何避免滥用指针,从C语言编程的角度讲解C指针,力图使读者学会运用C指针进行开发,并能进一步灵活将指针运用在精巧的算法上,构造更复杂的软件系统。
1046 0
+关注
4435
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载