《实验七 面向对象的程序设计》由会员分享,可在线阅读,更多相关《实验七 面向对象的程序设计(5页珍藏版)》请在金锄头文库上搜索。
1、- 1 -实验七 面向对象的程序设计一、实验目的一、实验目的 1掌握面向对象程序中对象、属性、方法和事件等概念。 2了解面向对象程序设计的特点。3掌握对象的相对引用和绝对引用。4掌握自定义类的创建、修改和使用。二、实验内容与步骤二、实验内容与步骤 1. 掌握并了解根据需要向表单添加任意数量的新属性,并引用表单的其他属性和方法引用它们。 (1)表单添加新属性的步骤如下: 选择“文件/新建/表单”,进入表单设计器。 选择“表单”菜单中的“新建属性”命令,打开“新建属性”对话框。 在“名称”框中输入属性名 Newx。 有选择地在“说明”框中输入新建属性的说明信息。这些信息将显示在“属性”窗口的底部。
2、 在表单的“属性”窗口的列表框中显示出新建的属性 Newx。(2)表单添加新方法的步骤如下: 选择“表单”菜单中的“新建方法程序”命令,打开“新建方法程序”对话框。 在“名称”框中输入方法名 newf。 有选择地在“说明”框中输入新建方法的说明信息。 在表单的“属性”窗口的列表框中显示出新建的方法 Newf。可以双击它,打开代码编辑窗口,然后输入或修改方法的代码:Thisform.newx=Thisform.newx+5Wait “newx=”+str(Thisform.newx) Window 若删去用户添加的属性或方法,可以选择“表单”菜单中的“编辑属性/方法程序”命令,打开对话框。然后在
3、列表框中选择不需要的属性或方法并单击“移去”按钮。(3)使用新属性和新方法。 通过“表单控件”工具栏向表单添加一个命令按钮 Command1。 双击命令按钮,进入命令按钮的 click 代码窗口,键入以下代码:Thisform.newx=5Thisform.newf- 2 - 保存并运行表单,单击命令按钮 Command1,结果如图 1 所示。2.了解常用的事件和方法,并为不同对象设置相应的事件代码, 启动 Visual FoxPro 6.0 。 在命令窗口输入命令:Create form myForm,打开表单设计器窗口。 从“文件”菜单中选择“保存”命令,保存表单文件。 过“表单控件”工具
4、栏向表单添加一个命令按钮,在属性窗口设置其 Caption属性为“退出”。 从“显示”菜单中选择“代码”命令,打开代码编辑窗口。从“对象”框中选择 Form1,从“过程”框中选择 Load,然后在编辑区输入的代码:WAIT “引发表单 Load 事件!” WINDOW从“过程”框中选择 Init,然后在编辑区输入相应的代码:WAIT “引发表单 Init 事件!” WINDOW从“过程”框中选择 Destroy,然后在编辑区输入相应的代码:WAIT “引发表单 Destroy 事件!” WINDOW从“过程”框中选择 Unload,然后在编辑区输入相应的代码:WAIT “引发表单 Unload
5、 事件!” WINDOW 从“对象”框中选择 Command1,从“过程”框中选择 Click,然后在编辑区输入的代码:Thisform.release 从“文件”菜单中选择“保存”命令,保存表单文件。然后单击“关闭”按钮,关闭表单设计窗口。 在命令窗口中输入命令:DO FORM myForm从运行表单到打开表单后单击“退出”按钮,屏幕显示结果,并分析原因:图 1 自定义属性和方法的使用结果- 3 -3.掌握和熟悉对象的引用。 启动 Visual FoxPro 6.0 。 选择“文件/新建/表单”,进入表单设计器。 在表单上添加 1 个标签 label1,1 个文本框 text1 和 1 个命
6、令按钮 command1。 在“属性”窗口,将表单的 autocenter 属性设为.T.(把表单的 autocenter属性设为.T.,运行时,表单会自动居中在主窗口的中央),Label1 的 caption 属性设为“欢迎使用 VFP”,command1 的 caption 属性设为“复制”,如图 2 所示。 单击复制按钮,把标签 label1 的内容复制到文本框 text1 中。编写 Command1 的 Click 事件过程代码:第一种方法:绝对引用的事件过程代码:Thisform.text1.value=thisform.label1.caption 第二种方法:相对引用的事件过程代
7、码:Thisform.text1.value=this.parent.label1.caption (注意:两种方法都可以实现) 保存并运行表单。4.掌握自定义类的建立和使用。 启动 Visual FoxPro 6.0 。 选择“文件/新建类/新建文件”,启动“类设计器”。在“新建类”对话框的“类名”文本框输入新类的名称 MyClass,在“派生于”栏中为新类指定基类CommandGroup,在“存储于”栏中输入保存新类的类库名为 MyLib.VCX,如图 3 所示,单击“确定”按钮,系统打开“类设计器”如图 4 所示。图 2 初始属性设 置- 4 - 将 MyClass 子类的 Button
8、Count 属性值设置为 4,即设置命令按钮组中包含的命令按钮个数为 4,重新横向排列 4 个命令按钮,并将 4 个命令按钮的 Caption 属性分别设置为“首记录”,“前一个”,“后一个”,“末记录”。 打开代码生成器,编写 MyClass 子类的 Click 事件过程代码,代码如下:sel=This.valuedo casecase sel=1go topcase sel=2if !bof()skip-1endifcase sel=3if !bof()skipendif图 4 类设计器图 3 “新建类”对话框- 5 -case sel=4go bottomendcasethisform.
9、refresh 关闭类设计器。关闭类设计器后,系统将询问是否将 MyClass 类保存到Mylib.VCX 中,回答“是“ 。 打开表单设计器,在“表单控件“工具栏中单击“查看类”按钮,选择“添加”命令,在“打开”对话框中选定自定义类库 Mylib,将其添加到“表单控件”工具栏中,如图 5 所示。 至此,可以像使用其他常用类一样使用该自定义类。同学们新建一个表单,拖动该自定义类在表单中生成一个对象实例,然后把 student 表添加到该表单的数据环境中,保存表单,运行表单验证自定义类的使用。5.设计一个表单,如下图所示,单击显示按钮,文本框显示“欢迎进入 VFP 天地!”,单击清除按钮,显示内容消失。自定义类 Myclass图 5 自定义类的使用