把函数"封装"到结构体里的好处?

2019-12-22 13:50发布

我看很多人这么用,可不知道为什么,网上搜了,文章都是说可以这么用以及如何这么用,但是没有说明其中思想。

我只能猜是因为:1,封装起来后使写程序的人思路更清晰;2,不同的过程需要同一个函数,结构体可以迅速“复制”多个同样的函数?但是想想又不对,请高人解答。我觉得结构体里有变量、参数就足够方便了,想不出有什么必要把函数也放进去?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
53条回答
error_dan
1楼-- · 2019-12-23 11:52
建议先看一下本坛 傻孩子 大师的一系列文字,深入学习的话,高焕堂老师有本OOPC的书非常不错.

我个人的一点理解:函数封装到结构体里面,最大的好处莫过于BSP确定以后,可以把硬件资源全部封装起来,你去下载一个MDK 5.X的版本,看看ARM CMSIS风格的驱动都是这样的.
最丧心病狂的用法莫过于:
extern ARM_UART_DRIVER uart2Driver;

声明一下,让后用户程序里面直接就可以:
uart2Driver.Init(xxx);
uart2Driver.Send(xxx);
....

至于uart2Driver本身,则是对ARM_UART_DRIVER的一个实例化,具有ARM_UART_DRIVER的结构并且填充了有意义的数据,里面封装了所有的uart2资源,并且写成了const类型,只管用就行了.
硬邦邦
2楼-- · 2019-12-23 13:57
封装起来是方便,菜鸟不好看懂,我学了一个星期才摸入门。不是本专业的
tedeum
3楼-- · 2019-12-23 16:16
面向对象
bbsview
4楼-- · 2019-12-23 16:20
 精彩回答 2  元偷偷看……
aureole
5楼-- · 2019-12-23 18:36
我的代码全部都是封装在一起的,呵呵。这是我的博客:

http://xiaomagee.cnblogs.com
chinaboy25
6楼-- · 2019-12-23 18:44
是函数指针吧

一周热门 更多>