vfp第九章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.2 面向应用程序的组装“模块” :VFP类与对象 在学习表单设计中,通过上机实践对面对象的程序设计已有了一定的认识,下面以表所示来小结:面向对象方法与结构程序设计方法之区别: 设方式方法 计方式 数据显示方式 处理方式 使用方式 处理顺序 结构程序 面向对象程序 过程性(Process) 对向性(Object) 显示型 隐藏型 单一程序编码 对象模块化 一次使用 可以重用 定位方式 非定位方式 设计方式 指对问题处理的程序设计方式。 1、过程性的设计思想中 ? 是针对问题采用顺序性的程序处理决问题。 ? 采用逻辑概念设计程序文件。 ? 在解决问题的过程中,常发生调用子过程程序文件。 2、面向对象程序设计方法,是采用“对象”为设计思想中心。 ? 不采用顺序性处理方式,对问题采用了对象本身的属性与方法来解决问题。 ? 在处理问题过程中,可以直接在对象中设计事件程序,直接触发问题。 一、Visual FoxPro中的对象 1、 什么是对象? 对象是VFP程序的基本构造块,对象具有属性(Properties)、方法(Mathod)以及键盘、鼠标或程序触发等的事件程序,通过属性、事件和方法等等所组合而成的具体抽象实体,就称为对象。 而通过属性、事件和方法,可以实现一个对象的功能。 2、对象的属性、事件和方法 “属性”(Properties)封装了数据,每个对象都具有“属性”。 “属性”值可以在设计时设置,也可以在运行时更改,但有的“属性”是只读属性,不可改变。 “事件”(Events)是预先定义的动作,由用户或者系统激活。VFP中的事件通常包括了键盘“事件”和鼠标“事件”,如单击或双击鼠标,移动鼠标、按键盘等(见P247)。 “方法”(methods)是指对象为实现一定功能而编写的代码, “方法”和对象相连。事件中的代码可以认为是基于事件的响应方法。但“方法”是可以独立于事件的单独代码,必要时可以由其它方法或程序代码进行显示的调用。 事件通常已经预先由系统定义好了,不能随便的扩充,而方法和属性却可以无限的扩展,事件的发生具有一定的顺序, 如:load和click, load在执行表单时就激活了,而click在执行表单后需单击命令按钮才激活。 如:下例: FORM(事件): load 代码:thisform.backcolor=rgb(255,0,0) Command(事件):click 代码:thisform.label2.caption=abcdefg 执行表单文件,立即form的背景为红色。 当单击command1,label1的值才显示出来。 二、 Visual FoxPro中的类 Visual FoxPro中的对象的概念和类的概念是密切相关的,但是有区别的,类作为一个对象的整体定义而存在,它是对象的轮廓和蓝图。 对象和类的关系就如同一台机床和图纸的关系,图纸决定了某一种类型的机床的功能和外观,而一台具体的机床可以看作一个对象而存在。某种类型的,根据机床的初始设计图可以设计出一个系列的机床产品图,这就如同由一个父类派生出若干子类一样,属于某个系列的某一台具体的机床可以看作是一个具体的对象。 所有对象的属性、事件、方法在定义类时都将被指定。 类的三大特性:封装性、继承性、再分类性(子类)。 (1)封装性 如一台电话只需一根电话线连接就可以拨号使用,而不必去了解电话内部的设置。你看到的是电话类的一个对象,其内部的接收、转换、电子信号的处理等复杂性(属性、事件、方法)被隐藏了。 通过对事务的抽象,由类定义的对象可以将自己内部的复杂性封装起来。 封装就是指将对象的方法、属性代码包装在一起。 图1电话 如下图所示,“电话”种类可以有很多种,但都具有基类电话的基本属性。即可从父电话类派生出一系列的子电话类,这些子类的形状虽然有改变或新增加了一些属性(功能),但仍继承了父类的基本属性、事件和方法。 图2 (2)继承性 子类可以继承父类的所有的属性和方法,也可根据需要加入新的属性和方法。 (3)再分类(SubClass) 意义要于类(Class)本身可以不受层次的限制,往下扩展更多的类,让子类继承上一层类的方法,并且有其本身的属性与方法定义。这样使程序编码减至最低。甚至在修改时,只需要修改其中一层的类,其子类(SubClass)均自动调整。增加维护效率。 如: IC产生掌

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档