第7章类的创建和应用_第1页
第7章类的创建和应用_第2页
第7章类的创建和应用_第3页
第7章类的创建和应用_第4页
第7章类的创建和应用_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-2-121为什么要使用类?为什么要使用类?提高代码的重用率提高代码的重用率提高应用程序的质量提高应用程序的质量提高开发者的效率提高开发者的效率第第7章章 类的创建和应用类的创建和应用2022-2-122控件类Controls容器类ContainersVFP基类VFP6.0类的类型类的类型2022-2-123类库VFP基类子类子类子类VFP中类的层次中类的层次内含在内含在VFP中的表单和中的表单和控件的缺省定义。控件的缺省定义。 子类:子类:引用引用VFP基类或其他子类建立基类或其他子类建立的新类。的新类。 类库类库(.vcx , .vct):用于存放子类的库用于存放子类的库文件。文件

2、。2022-2-124 VFP的类层次的类层次1、基类、基类VFP系统本身提供的系统本身提供的类类可以从基类直接产生对象可以从基类直接产生对象也可以由基类派生出子类也可以由基类派生出子类 2022-2-1252、容器类、容器类容器类是其他对象的集合容器类是其他对象的集合容器类中可以包含由其他类派生容器类中可以包含由其他类派生的对象,并允许访问这些对象的对象,并允许访问这些对象容器类可以作为其他对象的父类容器类可以作为其他对象的父类对象对象2022-2-1263、控件类、控件类控件类是单一的对象,不包含其他对象控件类是单一的对象,不包含其他对象控件类比容器类封装得更完全,在设计控件类比容器类封装

3、得更完全,在设计和运行时,作为一个独立的对象存在。和运行时,作为一个独立的对象存在。控件可以包含在容器中,但不能作为其控件可以包含在容器中,但不能作为其他对象的父类对象。他对象的父类对象。2022-2-1277.1 创建子类创建子类一、设计类的原则一、设计类的原则VFP具有创建类的功能,允许用具有创建类的功能,允许用户为一些通用的功能创建类。户为一些通用的功能创建类。我们可以把经常要使用的对象保我们可以把经常要使用的对象保存为类,以后只要把基于该类的存为类,以后只要把基于该类的对象添加到程序中,就可以经常对象添加到程序中,就可以经常使用它。使用它。2022-2-128二、创建子类二、创建子类(

4、1)在)在“项目管理器项目管理器”中选择中选择“类类”(2)单击)单击“新建新建”按钮,弹出按钮,弹出“新类新类”对话框对话框(3)在)在“新类新类”对话框中可以完成以对话框中可以完成以下工作:下工作:2022-2-129 在在“类名类名”栏中指定新类的名称栏中指定新类的名称 在在“派生于派生于”栏中为新类指定类型栏中为新类指定类型 在在“存储于存储于”栏中指定被保存的新栏中指定被保存的新类的类库名。类的类库名。创建新类示例:创建新类示例:创建创建“退出表单退出表单”按钮类按钮类2022-2-1210例:创建一个按钮类:例:创建一个按钮类: 类名:类名:CMDEXIT 父类:父类:Comman

5、dButton 存储于:存储于:JXGL.VCX(类库文件类库文件) 属性值:属性值:Caption:“退出表单退出表单” 事件代码:事件代码:Click:ThisForm.Release2022-2-1211把把“退出表单退出表单”命令按钮类加到命令按钮类加到表单上:表单上: 在在“项目管理器项目管理器”中选中表单中选中表单BD6 单击单击“修改修改” 在在“表单控件表单控件”工具栏上单击工具栏上单击“查看查看类类” 在弹出的快捷菜单中选在弹出的快捷菜单中选JXGL 把按钮类把按钮类CmdExit加到表单中加到表单中2022-2-1212三、为类添加新属性三、为类添加新属性1、新建属性、新建

6、属性 从从“类类”菜单中选择菜单中选择“新建属性新建属性”项项 在在“新建属性新建属性”对话框中填入:对话框中填入: 名称:名称:属性名称属性名称 可视性:可视性:公共、保护、隐蔽公共、保护、隐蔽 说明:说明:有关属性的说明有关属性的说明2022-2-1213可视性的含义:公共公共可在应用程序的任何位置可在应用程序的任何位置被访问被访问保护保护仅能被该类定义内的方法仅能被该类定义内的方法程序或该类的派生类(子类)所程序或该类的派生类(子类)所访问访问隐蔽隐蔽仅能被该类定义内的成员仅能被该类定义内的成员访问,子类不能引用。访问,子类不能引用。2022-2-12142、为新属性设置默认值、为新属性

7、设置默认值新属性通常应有一个默认值,如不指定默新属性通常应有一个默认值,如不指定默认值,认值,VFP系统默认为系统默认为.F.3、为属性创建、为属性创建Access和和Assign方法方法Access方法程序是指在查询属性值时执行方法程序是指在查询属性值时执行的代码的代码Assign方法程序是指更改属性值时执行的方法程序是指更改属性值时执行的代码代码2022-2-1215四、为新类添加方法程序四、为新类添加方法程序 在在“类类”菜单中选择菜单中选择“新方法程新方法程序序” 在在“新方法程序新方法程序”对话框中填入:对话框中填入: 名称:名称: 可视性:可视性:公共、保护、隐蔽公共、保护、隐蔽

8、说明:说明:最后按最后按“添加添加”按钮按钮2022-2-12162022-2-1217(4)为为SETBKCOLOR方法设置如下代码方法设置如下代码:This.SetAll(DynamicBackColor, IIF(RECNO(This.recordSource)%2=1, This.Clmcolor1, This.ClmColor2) , Column)(5)新建表单新建表单FORM1, 并在其中添加类并在其中添加类GRIDA在数据环境中加入表在数据环境中加入表XS.DBF, 并把表格的并把表格的Recordsource属性设置为属性设置为XS,在表格的在表格的INIT事件中加入代码事件

9、中加入代码:THIS.SETBKCOLOR2022-2-12182022-2-1219五、查看和设置类信息五、查看和设置类信息从从“类类”菜单中选择菜单中选择“类信息类信息”,打开打开“类信息类信息”对话框:对话框: 为类指定设计时的外观为类指定设计时的外观 修改和删除类的属性和方法程序修改和删除类的属性和方法程序2022-2-1220六、在设计表单时将表单和控六、在设计表单时将表单和控件保存为类件保存为类 在在“表单设计器表单设计器”中,从中,从“文件文件”菜单中选择菜单中选择“另存为类另存为类” 在在“另存为类另存为类”对话框中的对话框中的“保保存存”区域中指定保存为类的范围区域中指定保存

10、为类的范围 在在“类定义类定义”区域内,指定类名、区域内,指定类名、类库文件类库文件 单击单击“确定确定”按钮按钮2022-2-12217.2 管理类和类库管理类和类库1、在项目管理器中管理类和类库、在项目管理器中管理类和类库添加添加移去移去复制复制删除删除重命名重命名2022-2-12222、在类浏览器中管理类和类库、在类浏览器中管理类和类库在在“工具工具”菜单中选菜单中选“类浏览类浏览器器”,或在,或在“命令命令”窗口中键入窗口中键入 DO (_BROWSER)可打开类浏览器窗口,见可打开类浏览器窗口,见P219,图图7-92022-2-12237.3 类的应用类的应用一、添加类到表单一、

11、添加类到表单1、从项目管理器中拖放类到表单、从项目管理器中拖放类到表单2、注册可视类库(频繁使用的类)、注册可视类库(频繁使用的类) 在在“工具工具”菜单中选菜单中选“选项选项” 在在“选项选项”对话框中选对话框中选“控件控件” 选择选择“可视类库可视类库”按钮,单击按钮,单击“添加添加” 在在“打开打开”对话框对话框“中选择类库文件中选择类库文件2022-2-12243、将类控件显示在、将类控件显示在“表单控件表单控件”工具栏中工具栏中 如果类库已注册,则单击如果类库已注册,则单击“表单控件表单控件”工具栏中的工具栏中的“查看类查看类”按钮,将显示按钮,将显示下拉菜单,从中可选择类库下拉菜单

12、,从中可选择类库 如果类库未注册,可单击如果类库未注册,可单击“表单控件表单控件”工具栏中的工具栏中的“查看类查看类”按钮,选择按钮,选择“添加添加”选择类库文件,即可使用该选择类库文件,即可使用该类库中的类,同时该类库也在系统中类库中的类,同时该类库也在系统中注册。注册。2022-2-12254、指定数据库表的字段的默认类、指定数据库表的字段的默认类为了方便地将表中字段添加到表为了方便地将表中字段添加到表单,可以为数据库表的字段设置单,可以为数据库表的字段设置默认类。一旦指定,每次将该字默认类。一旦指定,每次将该字段加入表单时,表单控件将使用段加入表单时,表单控件将使用指定的默认类。方法:指

13、定的默认类。方法:在表设计器中的在表设计器中的“显示库显示库”和和“显示类显示类”框中选择类库和类框中选择类库和类2022-2-12265、指定字段数据类型映像到类、指定字段数据类型映像到类如经常改变字段的库和类,可将字段数如经常改变字段的库和类,可将字段数据类型映像到库和类中。建立映像后,据类型映像到库和类中。建立映像后,当将字段拖放到表单中,系统将创建当将字段拖放到表单中,系统将创建相应的控件。方法:相应的控件。方法:在在“工具工具”菜单中选菜单中选“选项选项”对话框,对话框,选择选择“字段映像字段映像”选项卡。(图选项卡。(图7-13)注意注意:字段数据类型映像类的优先级低:字段数据类型

14、映像类的优先级低于字段的默认类于字段的默认类2022-2-12276、指定表单和表单集的模板类、指定表单和表单集的模板类在在VFP中,还可以为表单或表单集本身中,还可以为表单或表单集本身指定类。在创建表单或表单集时,系指定类。在创建表单或表单集时,系统默认以统默认以Form和和FormSet基类为模板,基类为模板,可以指定自定义类作为模板。方法:可以指定自定义类作为模板。方法: 在在“选项选项”对话框中,选对话框中,选“表单表单”选选项卡项卡 在在“模板类模板类”区域中,为表单或表单区域中,为表单或表单集指定类。(集指定类。(P223图图7-14)2022-2-1228二、覆盖默认属性设置二、

15、覆盖默认属性设置 基于用户自定义类的对象添加到基于用户自定义类的对象添加到表单后,未被保护的属性可以被表单后,未被保护的属性可以被修改、覆盖修改、覆盖 被保护的属性不能被修改、覆盖,被保护的属性不能被修改、覆盖,在属性窗口中以斜体显示在属性窗口中以斜体显示2022-2-1229三、调用父类方法程序代码三、调用父类方法程序代码父类的方法代码可以在其以下的各级程序父类的方法代码可以在其以下的各级程序代码中使用,代码中使用,调用父类的方法程序应使用调用父类的方法程序应使用函数函数DODEFAULT()或作用域操作符()或作用域操作符: (见见P223)1、在类库、在类库Jxgl中创建新类中创建新类M

16、YFORM,其其CLICK 事件代码为:事件代码为:thisform.backcolor=rgb(0,255,255)2022-2-12302、创建新表单、创建新表单BD在新表单中加入类在新表单中加入类myform,在在myform上加入按钮组,含有上加入按钮组,含有3个按个按钮,第一个按钮的钮,第一个按钮的CLICK代码为:代码为:thisform.backcolor=rgb(255,255,0)第二个按钮的第二个按钮的CLICK代码为:代码为:thisform.backcolor=rgb(255,0,255)2022-2-1231第三个按钮的第三个按钮的CLICK代码为:代码为:MYFORM:CLICK其作用就是调用父类的方法程序代其作用就是调用父类的方法程序代码,表单背景为兰色。码,表单背景为兰色。演示表单演示表单 BD注意:注意:域作用符域作用符“:”与与Dodefault()函数的区别。函数的区别。P2242022-2-12329.2、创建自定义工具栏类、创建自定义工具栏类(P264)自己定义一个工具栏,包含常用的按自己定义一个工具栏,包含常用的按钮,可以添加到不同的表单中,方便钮,可以添加到不同的表单中,方便地使用。地使用。2022-2-1233创建自定义工具栏的一般步骤:创建自定义工具栏的一般步骤: 从工具栏基类创建自定义工具栏从

温馨提示

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

评论

0/150

提交评论