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