第10章面向对象可视化编程基础_第1页
第10章面向对象可视化编程基础_第2页
第10章面向对象可视化编程基础_第3页
第10章面向对象可视化编程基础_第4页
第10章面向对象可视化编程基础_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程第第10章章 面向对象程序设计面向对象程序设计10.4 表单的常用控件表单的常用控件10.3 对象的操作对象的操作10.2 创建类创建类10.1 面向对象概念的引入面向对象概念的引入visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.1 面向对象概念的引入面向对象概念的引入10.1.4 事件与方法事件与方法10.1.3 属性属性10.1.2 类类10.1.1 对象对象visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.1.1

2、 对象对象 对象(对象(objectobject)的概念是面向对象编程的专业术语和)的概念是面向对象编程的专业术语和技术的核心。技术的核心。 对象把事物的属性和行为封装在一起,是一个动态的对象把事物的属性和行为封装在一起,是一个动态的概念,对象是面向对象编程的基本元素,是基本的运行实概念,对象是面向对象编程的基本元素,是基本的运行实体,如表单、各种表单控件等。体,如表单、各种表单控件等。 任何一个对象都有属性、事件和方法三个要素,它们任何一个对象都有属性、事件和方法三个要素,它们各自从不同的角度表达了对象的构成各自从不同的角度表达了对象的构成. .visual foxpro 应应用用基础基础与

3、与面向对象程序设计教程面向对象程序设计教程10.1.2 类类 类(类(classclass)就是同)就是同类对象的属性和行为特征类对象的属性和行为特征的抽象描述。的抽象描述。 在在visual foxprovisual foxpro系统中,类分为容器类系统中,类分为容器类和控件类两种。和控件类两种。visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.1.2 类类 在在visual foxprovisual foxpro系统中,对象的创建大多数是依赖上述基类创建的,图系统中,对象的创建大多数是依赖上述基类创建的,图中可以看到,表单是一个容器类控件,它容纳

4、了一个命令按钮控件。中可以看到,表单是一个容器类控件,它容纳了一个命令按钮控件。visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.1.3 属性属性 属性(属性(attributeattribute)是用来描述)是用来描述对象特征的参数。对象特征的参数。 属性是属于某一个类的,不能独属性是属于某一个类的,不能独立于类而存在。派生出的新类将继承立于类而存在。派生出的新类将继承基类和父类的全部属性。基类和父类的全部属性。visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.1.4 事件与方法事件与方法 事件(事件(e

5、ventevent)是每个对象用以识是每个对象用以识别和响应的某些行别和响应的某些行为和动作。为和动作。 表中列出表中列出了了visual visual foxprofoxpro系统中系统中的核心事件。的核心事件。visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.1.4 事件与方法事件与方法 方法(方法(methodmethod)是附属于对象的行为和动作。)是附属于对象的行为和动作。 在在visual foxprovisual foxpro系统中,对象可以实现多种操作方系统中,对象可以实现多种操作方法。创建对象后,就可以从应用程序的任意位置调用已创法

6、。创建对象后,就可以从应用程序的任意位置调用已创建的方法。建的方法。visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.2 创建类创建类10.2.2 用编程方式创建用编程方式创建10.2.1 用菜单方式创建类用菜单方式创建类visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.2.1 用菜单方式创建类用菜单方式创建类 1. 1.创建类创建类 操作步骤如下:操作步骤如下: (1 1)打开)打开“文件文件”菜单,选择菜单,选择“新建新建”命令。命令。 (2 2)在)在“新建新建”窗口,选择窗口,选择“类类”命令,按命

7、令,按“新建新建”按钮。按钮。 (3 3)在)在“新建类新建类”窗口中,定义如下参数:窗口中,定义如下参数: 定义新类名、选择基类名或父类名、选择或定义类库名。定义新类名、选择基类名或父类名、选择或定义类库名。 (4 4)在)在“类设计器类设计器”窗口,如果不想改变父类属性、事件或方法,窗口,如果不想改变父类属性、事件或方法,类就已经建立完成;如果想修改父类的属性、事件或方法,或给新类添加类就已经建立完成;如果想修改父类的属性、事件或方法,或给新类添加新的属性、事件或方法,在新的属性、事件或方法,在“类设计器类设计器”窗口可继续进行操作。窗口可继续进行操作。visual foxpro 应应用用

8、基础基础与与面向对象程序设计教程面向对象程序设计教程10.2.1 用菜单方式创建类用菜单方式创建类 2. 2.类属性的定义类属性的定义 操作步骤如下:操作步骤如下: (1 1)打开)打开“文件文件”菜单,选择菜单,选择“打开打开”命令。命令。 (2 2)打开)打开“窗口窗口”菜单,选择菜单,选择“属性属性”命令。命令。 (3 3)在)在“属性属性”窗口,可以修改基类或父类原有的属性。窗口,可以修改基类或父类原有的属性。如果在如果在“属性属性”窗口不能满足用户对类的属性定义,用户可自己添窗口不能满足用户对类的属性定义,用户可自己添加新的属性。加新的属性。visual foxpro 应应用用基础基

9、础与与面向对象程序设计教程面向对象程序设计教程10.2.1 用菜单方式创建类用菜单方式创建类 3. 3.类的事件和方法的定义类的事件和方法的定义 操作步骤如下:操作步骤如下: (1 1)打开)打开“文件文件”菜单,选择菜单,选择“打开打开”命令。命令。 (2 2)打开)打开“显示显示”菜单,选择菜单,选择“代码代码”命令。命令。 (3 3)在)在“事件代码编辑事件代码编辑”窗口,可以在窗口,可以在“对象对象”下拉框中选择对象,下拉框中选择对象,在在“过程过程”窗口下拉框中确认继承下来的事件和方法,或修改继承的事件窗口下拉框中确认继承下来的事件和方法,或修改继承的事件和方法。和方法。 (4 4)

10、在)在“事件代码编辑事件代码编辑”窗口,窗口,“过程过程”下拉框中列出的方法如果下拉框中列出的方法如果不能满足对类的定义,用户可以自己添加新的方法。不能满足对类的定义,用户可以自己添加新的方法。visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.2.2 用编程方式创建用编程方式创建使用使用define classdefine class语句可定义类。语句可定义类。define class define class as as object.propertyobject.property=expression=expressionadd object a

11、dd object as as with with propertylistpropertylist procedure name procedure name endprocedureendprocedure enddefineenddefinevisual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.2.2 用编程方式创建用编程方式创建 例:定义一个例:定义一个带命令按钮的新的带命令按钮的新的容器类容器类“myformmyform”,并确定其自身属性并确定其自身属性和所包含控件和所包含控件“comm1”comm1”的属性的属性及控件的及控件的“click

12、”click”事件代码。事件代码。define class define class myformmyform as form as form visible=.t. visible=.t. backcolorbackcolor=rgb(128,128,0)=rgb(128,128,0) caption= caption=我的表单我的表单 left=20 left=20 top=10 top=10 height=223 height=223 width=443 width=443 add object comm1 as add object comm1 as commandbuttoncomm

13、andbutton; ; with caption= with caption=关闭关闭,;,; left=300,; left=300,; top=150,; top=150,; height=25,; height=25,; width=60 width=60 procedure comm1.click procedure comm1.click a= a=messageboxmessagebox(你真的要关闭表单吗?你真的要关闭表单吗?,4+16+0,4+16+0,对对话窗口话窗口) if a=6 if a=6 release release thisformthisform endif

14、endif endprocendprocenddefineenddefinevisual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.3 对象的操作对象的操作10.3.4 调用对象的方法调用对象的方法10.3.3 驱动对象的事件驱动对象的事件10.3.2 设置对象的属性设置对象的属性10.3.1 创建对象创建对象visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.3.1 创建对象创建对象使用使用createobjectcreateobject ( ) ( )函数可将类定义成对象。函数可将类定义成对象。 = = cre

15、ateobjectcreateobject 例:把上例中所定义的类例:把上例中所定义的类“myformmyform”,定义成对象,定义成对象“form1”form1”。 form1= form1= createobjectcreateobject ( (myformmyform)visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.3.2 设置对象的属性设置对象的属性设置对象属性的语句语法如下:设置对象属性的语句语法如下:parent.object.propertyparent.object.property=value=value其中:其中:paren

16、tparent为对象的父类名;为对象的父类名;objectobject为当前对象名;为当前对象名;propertyproperty为属性名;为属性名;valuevalue为对象设置的属性值。为对象设置的属性值。或:或:with with endwithendwithvisual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.3.2 设置对象的属性设置对象的属性例:给一个表单对象例:给一个表单对象“form1”form1”设置属性值。设置属性值。form1.caption=form1.caption=我的表单我的表单 form1.backcolor=rgb(12

17、8,128,0)form1.backcolor=rgb(128,128,0)form1.name=form1form1.name=form1form1.left=20 form1.left=20 form1.top=10form1.top=10form1.height=223form1.height=223form1.width=443form1.width=443或:或:with form1with form1.caption=.caption=我的表单我的表单 . .backcolorbackcolor=rgb(128,128,0)=rgb(128,128,0).name=form1.na

18、me=form1.left=20 .left=20 .top=10.top=10.height=223.height=223.width=443.width=443endwithendwithvisual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.3.3 驱动对象的事件驱动对象的事件事件与方法不同,只有当事件发生后,对事件与方法不同,只有当事件发生后,对应的事件代码才会被执行。应的事件代码才会被执行。在在visual visual foxprotfoxprot程序中,通常使用程序中,通常使用mousemouse(鼠标)产生单击、双击和移动、拖放等(鼠标)产生单击、双击和移动、拖放等事件;或使用事件;或使用keykey(键盘)(键盘)keyboardkeyboard命令产命令产生生keypresskeypress事件。事件。visual foxpro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程10.3.4 调用对象的方法调用对象的方法调用对象的语句语法如下:调用对象的语句语法如下:parent.object.methodparent.o

温馨提示

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

评论

0/150

提交评论