C语言高级编程技巧.ppt
《C语言高级编程技巧.ppt》由会员分享,可在线阅读,更多相关《C语言高级编程技巧.ppt(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言高级编程技巧段博C与面向对象vC语言是应用非常广泛的一门编程语言,特别是在嵌入式领域,更是占据着不可替代的位置。v面向对象程序设计把数据和对数据的操作封装在一起构成类,由类来产生对象,由对象来构建程序。通过继承、多态等机制大大增强软件的可重用性和可维护性。v将面向对象概念引入C语言编程过程具有重要意义。面向对象特性在C语言中的实现封装性v封装:C语言可以实现struct,这个与类非常接近。v封装的产物就是类,其实例便是对象。v对于属性,struct内部可以包含任何类型的数据成员作为对象的属性;但是,struct内部不能有函数成员,却可以有函数指针,通过函数指针指向成员函数。面向对象特性在
2、C语言中的实现封装性(2)n举个例子,下面的结构 GTKObjectClass 就可以看成一个类,其中 flag 是成员变量,三个函数指针是成员函数。nstruct _GtkObjectClass guint32 flag;void(*set_arg)(GtkObject*object,GtkArg*arg,guint arg_id);void(*get_arg)(GtkObject*object,GtkArg*arg,guint arg_id);void(*destroy)(GtkObject*object);面向对象特性在C语言中的实现继承性v继承:复用已经定义的操作。vC语言不支持继承,
3、但struct可以实现组合(Composition),可以先定义一个“父”struct,然后定义一个“子”struct,在“子”struct中添加其特有的属性和方法指针,这样就模拟了继承。面向对象特性在C语言中的实现继承性(2)n举个例子,GTK+中有一个类 GtkObject,它是所有其他类的父类。GTK+中最常用的按钮控件也是一个类 GtkButton,它继承自 GtkObject。它与 GtkObject 的继承关系是:nGtkObjectGtkWidgetGtkContainerGtkBinGtkButton 面向对象特性在C语言中的实现继承性(3)n在GTK中实现如下:struct
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 高级 编程 技巧
限制150内