Visual Foxpro 6.0程序设计基础_第1页
Visual Foxpro 6.0程序设计基础_第2页
Visual Foxpro 6.0程序设计基础_第3页
Visual Foxpro 6.0程序设计基础_第4页
Visual Foxpro 6.0程序设计基础_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual Foxpro 6.0程序设计基础Visual Foxpro 6.0程序设计基础面向对象程序设计面向对象程序设计面向对象的概念面向对象的概念1、从结构化程序设计到面向对象程序设计特点:l编程方式是可视化的,所见即所得l程序运行没有一定的顺序,由事件驱动,即事件的出现而执行相应的代码l不需要专门的循环结构就可以重复其功能l大部分的软件部件,如窗口、按钮等已经由“类”实现,不需要重复编码,屏蔽了大多数复杂的程序代码l应用软件的开发更注重于核心问题的求解 面向对象的程序设计(面向对象的程序设计(Object-Object-Oriented ProgrammingOriented Prog

2、ramming),简称),简称OOPOOP,是近年来程序设计方法的主流方式。是近年来程序设计方法的主流方式。 面向对象的程序设计方法并没有代面向对象的程序设计方法并没有代替结构化程序设计。替结构化程序设计。 VFPVFP不仅支持面向过程的程序设计,不仅支持面向过程的程序设计,同时还提供了面向对象程序设计的强大同时还提供了面向对象程序设计的强大功能。功能。1、对象(Object) 对象是反映客观事物属性及对象是反映客观事物属性及行为特征的描述。对象是面向对行为特征的描述。对象是面向对象编程的基本元素,是象编程的基本元素,是“类类”的的具体实例。具体实例。2、有关对象的基本概念2、类(Class)

3、 类是一组对象的属性和行为特征的类是一组对象的属性和行为特征的抽象描述。类是具有共同属性、共同抽象描述。类是具有共同属性、共同操作性质的对象的集合。操作性质的对象的集合。 类是对象的抽象描述;对象是类类是对象的抽象描述;对象是类的实例。类是抽象的,对象是具体的。的实例。类是抽象的,对象是具体的。圆柱体圆柱体纸圆纸圆柱体柱体大理石大理石圆柱体圆柱体木圆木圆柱体柱体类类对象对象圆柱体圆柱体.材质:纸质材质:纸质圆柱体圆柱体.材质:大理石材质:大理石圆柱体圆柱体.材质:木质材质:木质圆柱体圆柱体.材质:材质:(无无)对象属性对象属性类属性类属性 类定义了对象的基本属性、事类定义了对象的基本属性、事件

4、和方法,从而决定了对象的属性和件和方法,从而决定了对象的属性和行为。行为。VFPVFP提供了丰富的基类,用户提供了丰富的基类,用户可以直接使用基类来创建自己的子类可以直接使用基类来创建自己的子类或对象,从而简化了新类的创建。或对象,从而简化了新类的创建。(见教科书(见教科书169169图图10.110.1) 1 1)基类分为容器类()基类分为容器类(ContainerContainer)和控件类(和控件类(ControlerControler)。容器类可以容)。容器类可以容纳其它对象而控件类不能容纳其它对象。纳其它对象而控件类不能容纳其它对象。 (见教科书(见教科书170170表表10.210

5、.2)2 2)类的特性)类的特性 封装性:将对象的方法程序和属封装性:将对象的方法程序和属性代码包装在一起,隐藏不必要的复杂性代码包装在一起,隐藏不必要的复杂性性 继承性:是指通过继承关系利用继承性:是指通过继承关系利用已有的类构造新类。已有的类构造新类。基类:命令按钮组基类:命令按钮组(CommandGroup)(CommandGroup)子类:命令按钮组子类:命令按钮组(UserCmdGroup)(UserCmdGroup)对象:命令按钮对象:命令按钮(cmd(cmd数据库按钮数据库按钮) )继承继承实体化实体化3、属性(Attribute) 属性是描述对象特征的参数。属性是描述对象特征的

6、参数。属性窗口的操作属性窗口的操作属性名称属性名称意义意义解释解释标题标题(Caption)(Caption)对象的标题。字符数据。对象的标题。字符数据。第一个表单的默认标题:第一个表单的默认标题:form1form1值值(Value)(Value)指定对象当前的状态值。若指定对象当前的状态值。若指定了控制源,则指定了控制源,则Value的的值与控制源的值相同。值与控制源的值相同。Value值的类型随不同的对象而定。值的类型随不同的对象而定。名称名称(Name)(Name)对象的名字。对象的名字。字符型。字符型。可用(可用(EnabledEnabled)指对象在运行期可以使用。指对象在运行期可

7、以使用。逻辑值,默认真。逻辑值,默认真。如果对象不可用,如果对象不可用,该对象以灰色显示,焦点不能移到该对象以灰色显示,焦点不能移到对象上,对象也不能触发任何事件,对象上,对象也不能触发任何事件,该对象的方法程序不可用。该对象的方法程序不可用。字体名字体名(FontNameFontName)指定对象显示内容的字体。指定对象显示内容的字体。字符型,为系统的标准字体名称。字符型,为系统的标准字体名称。字号(字号(FontSizeFontSize) 指定对象显示内容的字号,指定对象显示内容的字号,字的尺寸。字的尺寸。数值型,例如:数值型,例如:1212或或4848等。等。粗体字粗体字(FontBol

8、dFontBold)对象显示内容的字体加粗。对象显示内容的字体加粗。逻辑型,默认假。逻辑型,默认假。前景色前景色(ForeColorForeColor)指定对象编辑区域的字符颜指定对象编辑区域的字符颜色。色。可以打开可以打开“颜色颜色”对话框选定色彩对话框选定色彩值。值。背景色背景色(BackColorBackColor)指定对象编辑区域的背景颜指定对象编辑区域的背景颜色色4、事件(Event) 1 1)事件是作用于对象的某些行为)事件是作用于对象的某些行为和动作。每个对象都可以对一个被和动作。每个对象都可以对一个被称作事件的动作进行识别和响应。称作事件的动作进行识别和响应。事件事件(Even

9、t) (Event) 是预先定义好的特定是预先定义好的特定的动作,不能修改、增加和删除,的动作,不能修改、增加和删除,由用户或系统激活。由用户或系统激活。 在在Visual FoxProVisual FoxPro系统中,对象系统中,对象可以响应可以响应5050多种事件。多数情况下,多种事件。多数情况下,事件是通过用户的操作行为(比如事件是通过用户的操作行为(比如按键、单击鼠标或移动鼠标等)引按键、单击鼠标或移动鼠标等)引发的,当事件发生时,将执行包含发的,当事件发生时,将执行包含在事件过程中的全部代码。在事件过程中的全部代码。事件事件事件发生的运行状态事件发生的运行状态Load创建对象之前。创

10、建对象之前。Init创建对象。创建对象。Click鼠标左键单击对象。鼠标左键单击对象。DblClick鼠标左键双击对象。鼠标左键双击对象。RightClick鼠标右键单击对象。鼠标右键单击对象。GotFocus对象接收焦点,由用户动作引起,如按对象接收焦点,由用户动作引起,如按 Tab 键或单键或单击,或者在代码中使用击,或者在代码中使用 SetFocus 方法程序。方法程序。LostFocus对象失去焦点,由用户动作引起,如按对象失去焦点,由用户动作引起,如按 Tab 键或单键或单击,或者在代码中使用击,或者在代码中使用 SetFocus 方法程序使焦点移方法程序使焦点移到别的对象上。到别的

11、对象上。ValidValid对象失去焦点前发生对象失去焦点前发生 因此,要特别关心的是对于该对因此,要特别关心的是对于该对象,会发生什么事件,何时发生,如象,会发生什么事件,何时发生,如果发生了某个事件,希望要做些什么果发生了某个事件,希望要做些什么事情,然后编出合适的程序放入该对事情,然后编出合适的程序放入该对象的该事件过程中。象的该事件过程中。 通常用户只需要对几个关键的事通常用户只需要对几个关键的事件编程。但是无论是否对事件编程,件编程。但是无论是否对事件编程,发生某个操作时,相应的事件都会被发生某个操作时,相应的事件都会被激活。如果用户为该事件编写了代码,激活。如果用户为该事件编写了代

12、码,就执行该事件的代码;如果没有相应就执行该事件的代码;如果没有相应的代码就不做什么事件。的代码就不做什么事件。1 1)方法是附属于对象的行为和动作。)方法是附属于对象的行为和动作。如果对象已经创建,便可以在应用程序的如果对象已经创建,便可以在应用程序的任何地方调用这个对象的方法程序。任何地方调用这个对象的方法程序。与事件不同,方法是可以扩展的与事件不同,方法是可以扩展的5、方法(Method)表单常用的方法程序表单常用的方法程序 (见教科书(见教科书173173页)页)Visual Foxpro 6.0程序设计基础数据代码数据代码属性属性事件事件方法方法应用程序应用程序读取读取/ /设置设置

13、响应响应调用调用对象对象对象和应用程序的关系如图所示。对象和应用程序的关系如图所示。Visual Foxpro 6.0程序设计基础 面向对象的程序在执行时,先等待某个事件的发生,面向对象的程序在执行时,先等待某个事件的发生,然后再去执行处理此事件的事件过程然后再去执行处理此事件的事件过程( (即程序代码即程序代码) )。事。事件过程要经过事件的触发才会被执行,这种动作模式就件过程要经过事件的触发才会被执行,这种动作模式就称为称为,也就是说,也就是说,执行步骤如下:执行步骤如下: 等待事件的发生。等待事件的发生。 事件发生时,执行其对应的事件过程。事件发生时,执行其对应的事件过程。 重复步骤。重

14、复步骤。 由此周而复始地执行,直到程序结束。由此周而复始地执行,直到程序结束。 相应地,相应地,是:是:3、面向对象程序的语法基础1 1)在容器分层结构中引用对象)在容器分层结构中引用对象绝对引用 是从最顶层容器(表单集或表单)开是从最顶层容器(表单集或表单)开始,由外到内,分级说明(用圆点分隔对始,由外到内,分级说明(用圆点分隔对象名称)的一种引用对象的方法。最高层象名称)的一种引用对象的方法。最高层的容器名称不是其的容器名称不是其namename属性值,而是其表属性值,而是其表单或表单集文件名。单或表单集文件名。 相对引用 可在表单或表单集中使用关键字可在表单或表单集中使用关键字 THIS

15、THIS(对象自身)、(对象自身)、THISFORMTHISFORM(当前(当前表单)等相对引用对象。表单)等相对引用对象。 常用的相对引用关键字有:常用的相对引用关键字有:ParentParent对象的直接容器对象的直接容器THISTHIS对象或对象的过程或事件对象或对象的过程或事件THISFORMTHISFORM包含对象的表单包含对象的表单THISFORMSETTHISFORMSET包含对象的表单集包含对象的表单集2 2)对象的属性、方法及引用)对象的属性、方法及引用对象名对象名. .对象的属性、事件或方法程序对象的属性、事件或方法程序 建立、修改表单建立、修改表单 表单(表单(FormF

16、orm)在系统中是用户)在系统中是用户的主要界面,也有人把它称为屏幕的主要界面,也有人把它称为屏幕(ScreenScreen)或窗口。但它不是一个普)或窗口。但它不是一个普通的窗口,因为其中的控件可以有属通的窗口,因为其中的控件可以有属性、事件和方法,并且表单和表单集性、事件和方法,并且表单和表单集本身也是有属性、事件和方法的编程本身也是有属性、事件和方法的编程对象。对象。 在在Visual FoxPro Visual FoxPro 系统中,表系统中,表单拥有多个属性,可以响应多种事单拥有多个属性,可以响应多种事件、实现多种方法操作。件、实现多种方法操作。 表单设计方法与步骤(见教科书(见教科

17、书195195196196页)页)创建表单的命令方式命令格式如下:命令格式如下:CREATE FORM CREATE FORM 修改表单的命令方式命令格式如下:命令格式如下:名名运行表单命令格式如下:命令格式如下:设计表单控件设计表单控件见教科书见教科书207227207227页页1 1、标签、标签 2 2、命令按钮(组)、命令按钮(组)3 3、文本框、文本框 4 4、编辑框、编辑框 5 5、复选框、复选框 6 6、选项按钮组、选项按钮组7 7、列表框、列表框 8 8、组合框、组合框9 9、表格、表格 1010、计时器、计时器1111、ActiveXActiveX绑定控件(略提)绑定控件(略提

18、) 主要控件主要控件Visual Foxpro 6.0程序设计基础标签(label)教科书P207主要属性:Caption、BackStyle、WordWrap教科书P207 例11.3控件类Visual Foxpro 6.0程序设计基础命令按钮(command)教科书P208主要属性:Caption、Enabled主要事件:Click控件类Visual Foxpro 6.0程序设计基础命令按钮组(commandGroup)教科书P209主要属性:ButtonCount、Value主要事件:Click容器类Visual Foxpro 6.0程序设计基础文本框(text)教科书P210主要属性:

19、PasswordChar、Value、ControlSource主要事件:Valid、GotFocus控件类Visual Foxpro 6.0程序设计基础编辑框(edit)教科书P211主要属性:ReadOnly、ScrollBars教科书P211 例11.4控件类Visual Foxpro 6.0程序设计基础复选框(check)教科书P212主要属性:Caption、Value控件类Visual Foxpro 6.0程序设计基础选项按钮组(OptionGroup)教科书P213主要属性:ButtonCount、Caption、ControlSource教科书P213 例11.5容器类Visu

20、al Foxpro 6.0程序设计基础列表框(List)教科书P215主要属性:ColumnCount、ControlSource、RowSource、 RowSourceType控件类Visual Foxpro 6.0程序设计基础组合框(Combo)教科书P215主要属性: ControlSource、RowSource、 RowSourceType 、 ColumnCount教科书P216 例11.6控件类Visual Foxpro 6.0程序设计基础表格(Grid)教科书P217主要属性: ControlSource 、 ColumnCount 、RecordSource、 Record

21、SourceType教科书P218 例11.7容器类Visual Foxpro 6.0程序设计基础计时器(timer)教科书P221主要属性: Enabled、Interval主要事件:timer控件类表单的数据环境表单的数据环境 数据环境是表单的一个基本数据环境是表单的一个基本对象,用户可在数据环境中预定义表对象,用户可在数据环境中预定义表单中各控件的数据来源。单中各控件的数据来源。 一旦将数据库或视图添加到表单一旦将数据库或视图添加到表单的数据环境中,它们就会随着表单设的数据环境中,它们就会随着表单设计器的打开或表单的运行而自动打开,计器的打开或表单的运行而自动打开,当关闭或释放表单时,它们也会随之当关闭或释放表单时,它们也会随之关闭。关闭。 因此,用户即可在表单运行期间因此,用户即可在表单运行期间直接访问到数据环境中的任何一个数直接访问到数据环境中的任何一个数据表。据表。由数据环境直接添加控件由数据环境直接添加控件 将数据环境中数据表中某个字将数据环境中数据表中某个字段直接拖到表单的指定位置,便可段直接拖到表单的指定位置,便可自动产生一个字段控件。这样产生自动产生一个字段控件。这样产生的控件,会自动地与表中相应数据的控件,会自动地与表中相应数据绑定到一起

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论