版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 面向对象的程序设计,5.1 面向对象程序设计概述 5.2 VFP中的对象与类 5.3 VFP中对象的属性、方法和事件,过程化程序设计 采用结构化编程语句来编写的程序。这类方法的特点是容易把一个复杂的程序分解为若干个较小的过程,每个过程都可进行独立的调试。这类设计方法发展的总思想是从程序员角度考虑使程序设计更简单,而较少从使用角度去考虑。使用这类方法设计的程序流程完全由程序员控制,使用者只能做由程序员预先安排好的事情。,5.1 面向对象程序设计概述,面向对象程序设计 这类程序设计思想是面向对象,即设计的重要任务在于描述对象。程序是由事件驱动的,因而,在执行过程中,持续等待的是一个发生在对
2、象上的事件。而发生什么事件则要看使用者的操作,如单击、双击鼠标等。至于下一步的程序流向,则要看驱动的是什么事件。这类程序设计的主要目的是从如何方便与简化使用入手,由使用者控制程序流向,这在一定程序上增加了编程的难度.,基本要领: 1.创建或选用适合自己问题需要的若干对象。 2.将各个对象组装在一起并通过对对象固有属性的设置完成部分功能及界面设计。 3.根据功能需要选择对象提供的事件并将控 制操作的程序代码写在对应事件过程中。,对象 由描述该对象属性的数据和可以对这些数据施加的所有操作封装在一起构成的统一体。 类 对具有相同属性和行为的一组相似的对象的抽象。类在现实世界中并不能真正存在。 类又可
3、以分为父类和子类。父类是可以用作其它类基础的类。子类则是以对应父类为起点建立的扩展类,它将继承父类的所有特征。例如,自然界中所有的动物都可以看成是生物的子类,因为它不仅继承了生物的所有特征,而且扩展了自己的新特征: 生物类具有共同的特征:有生命,生命有长短;能够进行新陈代谢;能够繁衍后代等。 而动物类除了具有上述共同的特征外,它还具有:能够活动;不能进行光合作用等。,5.1.1 对象与类,5.1.2 属性、消息、方法和事件,属性 就是类中所定义的数据,是对客观世界实体所具有的性质的抽象。如控件的布局属性、修饰属性等。 消息 消息是要求某个对象执行某个操作的规格说明。 通常由三部分组成:对象名.
4、消息名(参数)。 例: Form1.Show Form1.Refresh,方法 就是对象所能执行的操作。方法描述了对象执行操作的算法,响应消息的方法。实际上方法是一段能完成特定操作的程序代码。 事件 事件(Event)是某个特定时刻所发生的事情,引起对象从一个状态转换到另一个状态。瞬间完成,没有持续时间。,5.2 VFP中的对象与类,控件:放在一个表单上用以显示数据、执行操作或使表单更容易阅读的一种图形对象,如文本框、命令按钮等. 数据环境:用于管理在表单中使用和处理的数据库及表信息。 文本框:允许在表单上输入或查看文本的一种控件,一般只 包含一行文字。 命令按钮:用户和程序交互的主要工具,用
5、于接受事件触发, 进而完成指定的操作。,5.2.1 VFP中的对象,编辑框:在表单上用于接收输入或查看文本的一种控件。 可以包含多行文字。 表格: 将数据以表格的形式表示出来。 选项组按钮:可包含多个选项按钮,允许在一组按钮中选择一个。 页面:可用于显示信息,可包含任意控件。 复选框:指明一个选项是选定的还是不选定的控件,选定 时在框中出现“”标记。 列表框:提供一系列可选条目的控件。 组合框:综合了文本框和列表框功能的控件,既可输入又 可选择一行文本信息。,线条:用于在表单上绘制线条的控件,以装饰表单。 形状:用于在表单上绘制形状(圆形和矩形)的控件,以装饰表单。 图象:用于在表单上装贴.B
6、MP图片,以装饰表单。 微调:用于从一定范围内的数值中进行选择的控件。 标签:用于说明表单上正文内容的标题的控件。 定时器:用于检测系统的时间,按定时间间隔执行程序代码 的控件。运行时不可见。 OLE绑定型控件:用于在表单上显示表中的通用字段的OLE对 象的内容。 OLE控件:用于在表单上添加OLE对象。OLE控件不受表中的 通用字段的约束。,5.3 VFP中对象的属性、方法和事件,在VFP中,表单、表单集以及所有控件都可以看成是应用程序中的对象,可以对它们设置属性、事件和方法。,5.3.1 VFP中对象的属性,布局属性 修饰属性 状态属性 数据属性 格式属性,对象的属性值是由对象所基于的类决
7、定的。对象值的设置可以在设计时通过属性窗口设置,也可以直接编进程序代码在运行的过程中设置。,1.在属性窗口中设置 2.在程序代码中设置 Container.Object.Property=Value 例: mand1.caption=“ 添加” 或:With Endwith 例: With Thisform.Command1 .Caption=添加 .Width=100 .FontName=黑体 .FontBold=.T. .ForeColor=RGB(0,128,255) Endwith,设置对象的属性,一、修饰属性 1. Caption 用于指定显示在对象提要中的文本内容(标题). 对于不
8、同的对象,其显示方式不同。 2. Picture 用于确定显示在控件中的图片文件或图标文件 3. BackColor、ForeColor 用于指定对象中显示文本和图形时的背景色或前景色。 二、状态属性 1. Enabled 确定对象是否响应用户触发的事件。设置值为逻辑值.T.或.F., 缺省为.T.(响应用户触发的事件)。,对象的属性,2. Visible 确定对象是否可见。缺省为.T.(可见). 3. ReadOnly 用于指定是否允许用户编辑一个控件,或指定与临时表对象相关的表或视图是否允许被更新 三、数据属性 1. ControlSource 用于确定绑定对象的数据源。数据源可以是字段或
9、变量。 2. RecordSource 用于确定表格控件绑定对象的数据源。 3. RecordSourceType 用于确定如何打开表格控件的数据源。可以是表名、别名、查询、SQL说明等。,对象的属性,4. RowSource 确定组合框或列表框控件中值的数据源。可以是表名、字段等。 5. RowSourceType 确定组合框或列表框控件中数据源的类型。 6. Value 确定控件的当前状态或控件中数据源的当前值。 7.ButtonCount 指定命令组或选项组中的按钮数. 8. Buttons 用于访问按钮组中每一个按钮的数组,数组下标介于1到ButtonCount之间. 9. Colum
10、nCount 指定表格、组合框和列表框中列的数目。,对象的属性,10. Columns 用于访问表格中每一个列的数组。数组的下标介于1到ColumnCount之间。 11.PageCount 指定页框中的页数。 12.Pages 用于访问页框中的每一个页的数组。数组的下标介于1到PageCount之间。 13.SpinnerHighValue、SpinnerLowValue 确定微调控件值的范围,对象的属性,四、格式属性 1.Format 指定控件中Value属性的输入和输出格式。 2.InputMask 确定如何在控件中输入和显示信息。 3. PasswordChar 确定用户键入的字符或占
11、位符在文本框中是否显示。常用于口令或密码输入。 五、其他属性 Name 指定在程序代码中用于引用对象的名称。,对象的属性,5.3.2 VFP中对象的方法,系统定义的方法是在定义类时事先编好的程序代码,用 于完成事先规定的操作。可以自己定义新的方法,以完成 特定的功能操作。 1. AddItem方法 在组合框或列表框中添加一个数据项,并且可以指定数据项索引。 格式:控件.AddItem(cItem,nIndex,nColumn) 例: bo1.AddItem(“张三”,4) 2. RemoveItem方法 在组合框或列表框中删除一个数据项,并且可以指定数据项索引。,格式:控件.RemoveIte
12、m(nIndex) 例:thisform.list1.RemoveItem(thisform.list1. listindex) 3. AddObject方法 运行时,在容器对象中添加对象。 格式: 容器.AddObject(cName, cClass) 例: thisform.AddObject(cmdpre , CommandButton) 4. CloseTables方法 关闭与数据环境相关的表和视图。 格式: DataEnvironment.CloseTables 例: thisform.DataEnvironment.CloseTables,5. Refresh方法 重画表单或控件,
13、并刷新所有值。 格式: 对象.Refresh 例: thisform.Refresh 6. Release方法 从内存中释放表单集或表单。 格式: 对象.Release thisform.Release 7. SetAll方法 为容器对象中的所有控件或某类控件指定一个属性设置。 格式: 容器. SetAll(cProperty,Value,cClass) 例: thisform. SetAll(Enabled, .f. ,CommandButton),8. SetFocus方法 为一个控件指定焦点,即确定当前操作的对象。 格式: 控件.SetFocus 例: thisform.text1.Se
14、tFocus 9. Hide方法 隐藏表单、表单集或工具栏。 格式: 控件.Hide 例: thisformset.form1.Hide 10. Show方法 显示一个表单。 格式: 控件.Show 例: thisformset.form1.Show,11. Clear 方法 清除列表框或组合框中的文本. (RowSourceType=0) 格式: 控件.Clear 例: thisform.list1.Clear 12. Requery方法 重新查询列表框或组合框控件所基于的Rowsource,并使用新值更新列表. 格式: 控件.Requery 例: ThisForm.List1.Requer
15、y,用户通常用单击鼠标、双击鼠标、拖动鼠标等动作来 运行应用程序, 这些可以为系统所接受的动作称为事件。 事件是一个对象可识别的动作,在VFP中,可以编写相 应的代码对此动作进行响应。除了用户动作可以产生事件 外(如单击鼠标或按下一个键),程序代码或系统(如计时器) 也可以产生事件。 实际中选取适当的事件时机,为之编写完成特定功能 的程序代码。不可以自己定义新的事件。,5.3.3 VFP中对象的事件,1. Activate事件 激活表单、表单集或页对象时发生此事件 2. AfterCloseTables事件 在表单、表单集的数据环境中,释放指定表或视图后, 发生此事件.应用于数据环境 3. B
16、eforeOpenTables事件 仅发生在与表单集、表单的数据环境相关联的表和视图打开之前。应用于数据环境. 4. Click事件 当在程序中包含触发此事件的代码,或者将鼠标指针放在一个控件上按下并释放鼠标左键,或者更改特定控件的值,此事件发生。,5. Destroy事件 释放一个对象的实例时发生 6. GotFocus事件 当通过用户操作或执行程序代码使对象接收到焦点时,此事件发生。 7. Init事件 在创建对象时发生 8. InteractiveChange事件 在使用键盘或鼠标更改控件的值时,此事件发生。 9. KeyPress事件 当用户按下并释放某键时发生此事件,10. Load事件 在创建表单集、表单前发生。 11. Unload事件 在表单、表单集被释放时发生 12. Timer事件 当经过Interval属性中指定的毫秒数时此事件发生。应用于计时器。 13. Valid事件 在控件失去焦点之前发生。 14. When事件 在控件接收焦点之前此事件发生。,事件发生时,若没有与之相关的代码,则不会发生任何操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河南郑州惠济区迎宾路社区卫生服务中心招聘4人考试备考试题及答案解析
- 2026河南郑州市第96中学教育共同体(天府中学)教师招聘笔试备考题库及答案解析
- 2026春季中国石油长城钻探工程有限公司高校毕业生招聘10人笔试备考题库及答案解析
- 管理运营职业规划方案
- 包装行业职业发展路径
- 电工职业发展进阶手册
- 2026 三年级下册《光的折射现象》课件
- 学习单元3习题参考答案
- 2025广东广州花都城投汇鑫运营管理有限公司经理拟录用人员笔试历年参考题库附带答案详解
- 2025年泉州丰泽城市建设集团有限公司招聘第二批招商专员3人笔试历年参考题库附带答案详解
- DB11∕T 3048-2026 公路钢渣沥青混合料技术规范
- 2026春季四川成都环境投资集团有限公司下属成都市兴蓉环境股份有限公司校园招聘47人考试参考试题及答案解析
- 汽车维修安全环保制度
- 2026年山东济南新旧动能转换起步区管委会所属事业单位招聘14人易考易错模拟试题(共500题)试卷后附参考答案
- 内部控制工作小组成立方案
- 心理健康志愿者培训课件
- 2026秋招:太平洋保险集团笔试题及答案
- 低钙血症诊疗指南(2025年版)
- 果园土地租赁合同范本
- 乳牙治疗知情同意书
- 2026年浙江高考地理真题试卷+参考答案
评论
0/150
提交评论