免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2217 | 回复: 2
打印 上一主题 下一主题

使用C语言进行面向对象的开发--GObject入门[9] [复制链接]

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-22 10:15 |只看该作者 |倒序浏览
  属性
  JAVA,C#好像有着这么一个概念【从语言层面是原生的】,但是标准的C++还是没有的【微软的C++/CLI实现了属性,但微软的并不是标准的,另外大名鼎鼎的QT也实现了属性这一概念】
  属性到底是什么,个人感觉跟成员变量差不了多少,无非是我们可以明确的声明他们的可读可写。。。。另外如果把它当成成员变量,那么访问时可以像成员变量一样容易,但实际底层却调用专门的函式来对其访问。
  个人感觉:如果程序员对自己的程序都是明了的,属性这个东西根本就没必要!从使用的角度而言,带来的方便并不是很大,但从代码的角度却要增加不小的开销。
  用C++我们可以使用模板配合宏来模拟属性,并且这种模拟在声明的时候麻烦了些。但如果用C来实现,仅靠函式指针和宏就有些力不从心了,至少一步一步实现起来会相当麻烦。GObject对于属性的实现还是比较不错的,使用起来也还算方便,这得益于实现了泛型和信号的机制。
  下面要转载一部分文字,因为感觉对这一块的描述相当的不错【不过是翻译的】
  GValues
  C是一门强类型语言,也就是说变量声明的类型必须和它被使用的方式保持一致,否则编译器就会报错。这是一件好事,它使得程序编写起来更迅速,帮助我们发现可能会导致系统崩溃或者不安全的因素。但这又是件坏事,因为实际上程序员活在一个很难什么事都保持严格的世界上,而且我们也希望声明的类型能够具备多态的能力 - 也就是说类型能够根据上下文来改变它们自己的特性。通过C语言的转型我们可以获得一些多态的能力,如上面所讨论过的继承。然而,当使用无类型指针作为参数传递给函数时,可能问题会比较多。幸运的是,类型系统给了我们另外一个C语言没有的工具:GType。
          
                       
                               
编缉推荐阅读以下文章
                               

              
                         
  • 使用C语言进行面向对象的开发--GObject入门[10]
                        
                         
  • 使用C语言进行面向对象的开发--GObject入门[8]
                        
                         
  • 使用C语言进行面向对象的开发--GObject入门[7]
                        
                         
  • 使用C语言进行面向对象的开发--GObject入门[6]
                        
                         
  • 使用C语言进行面向对象的开发--GObject入门[5]
                        
                         
  • 使用C语言进行面向对象的开发--GObject入门[4]
                        
                         
  • 使用C语言进行面向对象的开发--GObject入门[3]
                        
                         
  • 使用C语言进行面向对象的开发--GObject入门[2]
                        
                         
  • 使用C语言进行面向对象的开发--GObject入门[1]
                        
                                   

                       
                       
         

论坛徽章:
0
2 [报告]
发表于 2010-02-22 14:07 |只看该作者
前端时间还学 GObject 了呢……正好互相印证一下,不过还是看原文吧,这个排版……

论坛徽章:
3
数据库技术版块每日发帖之星
日期:2016-05-28 06:20:00综合交流区版块每日发帖之星
日期:2016-05-29 06:20:00每日论坛发贴之星
日期:2016-05-29 06:20:00
3 [报告]
发表于 2010-08-26 15:00 |只看该作者
才想说,能否出个文字版的pdf。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP