第九章表单(FORM)和面向对象的程序设计.pptVIP

  • 0
  • 0
  • 约6.69千字
  • 约 67页
  • 2019-07-16 发布于四川
  • 举报

第九章表单(FORM)和面向对象的程序设计.ppt

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)

1亿VIP精品文档

相关文档