您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 第7章面向对象程序设计
第七章面向对象程序设计•7.1类与对象•7.2设计类与对象•7.3事件与方法程序导读:首先要搞清有关基本概念如:类与对象,控件及其属性事件方法程序还有数据环境;其次要学会创建类与对象及其引用;然后要学会面向对象程序设计。7.1类与对象•7.1.1对象•7.1.2类•7.1.3类与对象的关系•7.1.4基类与子类•7.1.5容器与控件•7.1.6属性7.1.1对象•对象包括数据及用来处理这些数据的方法。•对象=控件+属性+数据环境+事件+方法程序。–控件是显示数据和执行交互式操作使用的工具–属性是附加和作用于对象的一个内存变量。是对象中的数据。是用来描述对象特征的参数。–数据环境是对象运行所依据的数据信息范围。–事件是对象能够识别和响应的某些行为和操作。如:使用控件。–方法程序是对象在事件发生时进行的功能实现性操作。控件•为交互式操作提供了控件•常用控件有:–编辑框–文本框–标签–按钮–复合框–列表框–选择按钮–表单–容器常用控件表表7-4VFP的常用控件表控件说明CheckBox复选框ComboBox组合框或下拉列表框CommandButton命令按钮CommandGroup命令按钮组EditBox编辑框Grid表格Image显示位图图像(续表)控件说明Label正文标签Line线条ListBox列表框OleContainerOLE容器控件OleBoundOLE绑定型控件OptionButton单选按钮OptionGrp按钮组PageFrame包含页的页帧Shape显示盒子、圆或椭圆状Spinner微调按钮Timer能在一定时间执行代码的定时器TextBox文本框常用属性表表7-6VFP控件常用属性表属性名称简要说明ActiveControl引用对象上的当前活动控件ActiveForm引用活动表单对象或Screen对象,设置其属性AlwaysOnTop防止其他窗口覆盖本对象、表单窗口AppliCation提供对某个对象的引用程序对象的引用BackColor指定前景颜色,供对象中显示文本时使用BaseClass显示被引用对象所基于的基类BorderStyle指定对象的边框风格BufferMode提供两种选择:保守式、开发式Caption指定在对象的标题中显示的文本Class返回、显示对象基类的类名ClassLibrary对象类所在的类库ClipControls决定Paint事件中的图形方法所画部分Closable确定表单的控制菜单是否出现“关闭”以关闭表单ColorSource决定怎样设置控件的颜色Comments存储对象的注释信息ControlBox决定表单的控制菜单是否显示ControlCount指定容器对象中的控件编号Controls为访问容器对象中控件创建的数组Currentx指定绘图方法的行坐标(x)Currenty指定绘图方法的列坐标(y)Top指定控件上边界与包含它的容器上边界的距离Left指定控件左边界与包含它的容器左边界的距离Hight指定控件上、下边界高度Name指定控件名称Width指定控件左、右边界宽度控件对象属性事件数据环境方法程序对象控件属性事件方法程序数据环境对象的操作与引用•1.绝对引用–引用地址从最外层容器直到目标对象•2.相对引用–引用地址从参照物到目标对象•表7-7参照关键字•参照关键字参照对象•THIS该对象•THISFORM包含该对象的表单•THISFOMSET包含该对象的表单集•Parent包含该对象的父对象作业第七、八章练习题选择题:1.下列关于属性、方法和事件的叙述中,哪个是错误的?A)属性用于描述对象的状态,方法用于表示对象的行为B)基于同一个类产生的两个对象可以分别设置自己的属性值C)事件代码也可以像方法一样被显示调用D)在新建一个表单时,可以添加新的属性、方法和事件2.假设一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1,命令按钮组中包含Command1和Command2两个命令按钮。如果要在Command1命令按钮的某个事件代码中访问文本框的Value属性值,下面哪个是正确的?A)This.ThisForm.Text1.ValueB)This.Parent.Parent.Text1.ValueC)Parent.Parent.Text1.ValueD)This.Parent.Text1.Value3.下面关于数据环境中两个表之间关系的说法中,正确的是:A)数据环境是对象,关系不是对象B)数据环境不是对象,关系是对象C)数据环境是对象,关系是数据环境中的对象D)数据环境和关系都不是对象4.假定表单中包含一个命令按钮,那么在运行表单时,下面有关事件引发次序的说法中,正确的是:A)先命令按钮的Init事件,然后表单的Init事件,最后表单的Load事件B)先表单的Load事件,然后表单的Init事件,最后命令按钮的Init事件C)先表单的Init事件,然后命令按钮的Init事件,最后表单的Load事件D)先表单的Load事件,然后命令按钮的Init事件,最后表单的Init事件5.在表单设计器环境下,要选定表单中某选项组里的某个选项按钮,可以A)单击选项按钮B)双击选项按钮C)先用鼠标右键单击选项组,并选择快捷菜单中的“编辑”命令,然后再单击选项按钮D)以上B)和C)都可以6.下面关于列表框和组合框的陈述中,正确的是:A)列表框和组合框都可以设置成多重选择B)列表框可以设置成多重选择,而组合框不能C)组合框可以设置成多重选择,而列表框不能D)列表框和组合框都不能设置成多重选择7.下列关于控件类和容器类的说法中,错误的是A)控件类用于进行一种或多种相关的控制B)控件类一般作为容器类中的控件来处理C)控件类的封装性比容器类更加严密,灵活性更好D)控件类必须作为一个整体来访问或处理,不能单独对其中的组件进行修改或操作解析:在VisualFoxPro中,类可分为控件类和容器类。控件类用于进行一种或多种相关的控制,其封装性比容器类更加严密,但灵活性比容器类差8.如果要为控件设置焦点,则下列属性值是真(.T.)的是A)Enabled和DefaultB)Enabled和VisibleC)Default和CancelD)Visible和Default解析:在VisualFoxPro中,对象被选定,就获得焦点。如果要为控件设置焦点,Enabled和Visible属性的值必须为真(.T.),其中Enabled属性决定控件是否可用,而Visible属性决定控件是否可见。9.下列关于编辑框的说法中,正确的是A)编辑框可用来选择、剪切、粘贴及复制正文B)在编辑框中只能输入和编辑字符型数据C)编辑框实际上是一个完整的字处理器D)以上说法均正确解析:编辑框实际上是一个完整的字处理器,可进行选择、剪切、粘贴及复制正文等操作,但在编辑框中只能输入和编辑字符型数据。10.在面向对象方法中,类之间共享属性和操作的机制称为【2】。11.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体项目主管与实体项目的联系属于【4】的联系。12.数据库设计分为以下6个设计阶段:需求分析阶段、【5】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。正确答案:1.数据库概念设计阶段。13.在VisualFoxPro中,物理删除当前表中所有记录,可使用命令【6】。14.在VisualFoxPro中,数据表中备注型字段所保存的数据信息存储在以【7】为扩展名的文件中。15.结构化程序设计包含3种基本控制结构,其中SCAN-ENDSCAN语句属于【8】结构。16.结构化程序设计包含3种基本控制结构,其中SCAN-ENDSCAN语句属于【8】结构。17.在命令按钮组中,决定命令按钮数目的属性是A)ButtonCountB)ButtonsC)ValueD)ControlSource18.关系操作的特点是【5】操作。解析:在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元数相同的元组的集合。因此,关系操作的特点是集合操作。19.将编辑框的ReadOnly属性值设置为.T.,则运行时此编辑框中的内容A)只能读B)只能用来编辑C)可以读也可以编辑D)对编辑框设置无效20.下列关于表格的说法中,正确的是A)表格是一种容器对象,在表格中全部按列来显示数据B)表格对象由若干列对象组成,每个列对象包含若干个标头对象和控件C)表格、列、标头和控件有自己的属性、方法和事件D)以上说法均正确解析:表格是一种容器对象,其外形与Browse窗口相似,按行和列显示数据。一个表格对象由若干列对象组成,每个列只包含一个标头对象,但可以包含多个控件。表格、列、标头和控件都有自己的属性、事件和方法。21.面向对象的模型中,最基本的概念是对象和【3】。上机第七、八章上机题1.利用日期函数创建如下的表单:在标签控件中显示系统当前日期,单击关闭按钮时关闭该表单。(如右图)2.在第1题的基础上,增加一个命令按钮,其标题可以在“D日期”和“欢迎使用”之间进行切换,当单击“D日期”按钮时,标签控件中显示的是当前日期,单击“欢迎使用”按钮时,标签中显示的是“欢迎使用VisualFoxPro”的内容。3.设计一个华氏温度和摄氏温度相互转换的表单。要求输入一个华氏温度可以得到相应的摄氏温度,而输入一个摄氏温度则可以得到其相应的华氏温度。计算公式:摄氏转华氏:华氏=摄氏*9/5+32华氏转摄氏:摄氏=(华氏-32)*5/94.在右图所示的表单中,在文本框的左边增加一个标签控件,当文本框中的时间是以12小时制的形式显示时,该标签能自动显示上午或下午;如果文本框中的时间是以24小时制的形式显示的,则该标签不可见。图中的改变时间格式按钮的标题可以在“改变时间格式(12)”和“改变时间格式(24)”之间进行切换。5.下图所示表单实现如下的功能:单击“开始”按钮时,其标题变为“暂停”,容器控件中的“热烈欢迎”从右向左移动;单击“暂停”按钮,容器控件中的“热烈欢迎”停止移动。现要求在该表单中添加一个按钮,按钮的标题能够在“清除”和“添加”之间进行切换,当单击“清除”按钮时,清除容器中“热烈欢迎”的内容,当单击“添加”按钮时,容器中出现“热烈欢迎”的内容。6.在表单中增加一个标签、一个文本框、以及一个选项按钮组(包含两个单选项,其caption属性分别为“12小时”和“24小时”)。运行表单时,当选定24小时的单选项时,标签中无任何显示,文本框中显示24小时制的时间;当选定12小时的单选项时,标签中显示上午或下午(由时间决定),文本框中显示的是12小时制的时间。7.在上面第6题的表单中,增加一个复选框,其Caption属性为“显示日期”,同时在已有文本框的上面再增加一个文本框,用于显示日期。执行表单时,当没有选定复选框时,新增加的文本框不可见;当选定复选框后,新增加的文本框可见,同时显示系统当前日期。8.设计这样的一个表单:当在文本框中输入一个初始值后,单击“计算”按钮,在编辑框中连续输出50个能被37整除的数。9.创建一个浏览学生数据表的表单,如下图所示。
本文标题:第7章面向对象程序设计
链接地址:https://www.777doc.com/doc-3952396 .html