如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
理解编程武汉理工大学资源与环境工程学院张晓盼zxp.whut@163.com如何学习编程理解or记忆,这是一个问题!程序员的职业特征编程是一项怎样的工作?z写作z产业从写作特性看编程技术的发展理解计算机的工作逻辑图灵机阿兰·麦席森·图灵图灵机的工作原理z一个无限长的纸带,一个读写头(中间那个大盒子),内部状态(盒子上的方块,比如A,B,E,H),z一个程序对这个盒子进行控制,z根据程序的命令以及它的内部状态进行磁带的读写、移动;z从读写头在纸带上读出一个方格的信息,并根据它当前的内部状态开始对程序进行查表,然后得出一个输出动作,也就是是否往纸带上写信息,还是移动读写头到下一个方格。程序就是一张表程序的特点计算机运行逻辑的特征计算机逻辑与人类思维的差异程序开发语言演化的特征程序开发语言演化的特征编程技术演化的三个关键z编译技术(文本化、符号化)z信息封装技术(函数、数据结构)z面向对象技术(函数+数据Æ属性+行为)OOP:ObjectOrientedProgrammingz用“对象”描述现实世界中的实体;z将数据(状态)和操作(行为)封装在一起;z在信息层面模拟工业生产中的实体模块。嵌套式封装对象的嵌套式封装z体现了实体的层次化组合概念;z体现了整体与部分的系统结构;z实现了对象属性和方法的分类管理。从工业特性看编程技术的发展z模块化、标准化、独立化组件:跨平台跨语言的对象z组件是一种二进制的信息封装;z组件采用OOP的对象封装格式;z组件实现了嵌套式封装,一般组件对象中都包含的若干小对象;z小对象实现了对组件中状态和方法的分类管理;zCOM、CORBA、JavaBean。COM:ComponentObjectModelzCOM组件是一些小的二进制可执行文件;z每个COM组件可以看作是被存储下来的对象实例;zCOM组件实现了嵌套式封装,其中的每个可以访问的小对象都称为“接口”;z任何COM组件都有一个称为“IUnknown”的接口,并且这个接口对应的属性和方法是一样的;zCOM是用多父类派生的方法实现的。COM组件的图示QueryInterface()AddRef()Release()IMath1Method1()IMath1Method2()IMath1Method3()接口IStrMethod1()IStrMethod2()IStrMethod3()InterfaceIMath2Method1()IMath2Method2()IMath2Method3()COM组件接口的意义z接口可以看作是一组属性和方法的集合;z接口一定是组件的父类,所以可以用接口的类型来定义组件对象;z如果要调用同一组件不同接口的方法,必须进行接口转换。利用COM组件进行二次开发一般流程z获取组件的二进制包;z通过代码创建组件;z获取需要的接口;z调用接口的属性或者方法完成操作;z获取其他接口或者撤销组件。下节课我们将学到:z如何在Windows环境下进行ArcGIS二次开发;z在Windows环境下进行独立的组件式二次开发的基本流程;zWindows环境进行可视化程序开发的关键技术。