对VC++的OO思考
1. MFC借助C++的优势为Windows开发开辟了一片新天地,同时也借助 ApplicationWizzard使开发者摆脱离了那些每次都必写基本代码
2. 借助ClassWizard和消息映射使开发者摆脱了定义消息处理时那种混乱和冗长的代码段。
3. 更令人兴奋的是利用C++的封装功能使开发者摆脱Windows中各种句柄的困扰,只需要面对C++中的对象,这样一来使开发更接近开发语言而远离系统。(但我个人认为了解系统原理对开发很有帮助)。正因为MFC是建立在C++的基础上,所以我强调C/C++语言基础对开发的重要性:
1)利用C++的封装性开发者可以更容易理解和操作各种窗口对象;
2)利用C++的派生性开发者可以减少开发自定义窗口的时间和创造出可重用的代码;
3)利用虚拟性可以在必要时更好的控制窗口的活动。
4)而且C++本身所具备的超越C语言的特性都可以使开发者编写出更易用,更灵活的代码。
参考(内含消息映射和学习方法总结):
http://www.cnblogs.com/bingcaihuang/archive/2010/12/02/1894062.html
总结一下:就是类对象代替句柄进行各种操作,方便管理,还能被继承/覆盖/复用,就这么点事。在读Delphi源码的时候多次发现,通过Delphi对象管理窗口要比通过句柄管理方便的多,句柄算什么,不过是Delphi对象诸多属性之一罢了。而且我还发现,有时候需要通过句柄来找到对象的情况,这样才能方便操作和充分管理。
再总结一下:类对象十分强大,几乎随心所欲、无所不能,句柄只是其中一个属性,用来管理窗口罢了。
--------------------------------------------------------------------------------------------------
最新文章
- Android View 的事件体系
- C#Linq技术中SelectMany(...)的内部实现推测
- 重温Servlet学习笔记--编码问题
- 设置MYECLIPSE的自动补全
- iOS阶段学习第20天笔记(MRC内存管理)
- 基于bshare分享平台,在一个页面上实现多个不同内容的web分享
- maven 几个插件的使用
- why dicePlayer cannot player with defy mb526
- Unity Notes调制粒子系统的颗粒的最大数目
- 【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
- 本学期微分方程数值解课程总结(matlab代码)
- C#设计模式(6)-原型模式
- MyBatis 传List参数 nested exception is org.apache.ibatis.binding.BindingException: Parameter 'idList' not found.
- GSM与GPRS的区别
- vue 之 .sync 修饰符
- 10.9-uC/OS-III任务管理
- Linux学习---条件预处理的应用
- MT【1】终点在球面上的向量
- 常用处理数组、字符串API → forEach every some sort map filter slice split indexOf concat substring substr splice join toString replace
- leetcode第11题:盛水最多的容器