




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualFoxPro 1 VisualFoxPro 程序设计教程 VisualFoxPro 2 4 2 面向对象程序设计和可视化设计工具使用 VisualFoxPro 3 本节要求 1 目的 要求 1 掌握面向对象程序设计的基本概念 类 对象 事件 方法 属性 2 了解面向对象程序设计思想 3 了解面向对象程序设计的设计方法 2 重点 难点重点 面向对象程序设计基本概念的理解 难点 面向对象程序设计的设计方法 总学时 理论 2学时 VisualFoxPro 4 4 2面向对象程序设计和可视化设计工具使用 面向过程程序设计 就是前面所介绍的结构化程序设计 结构化程序设计强调了功能抽象和模块性 它将解决问题的过程看作是一个处理过程 数据和施加于数据上的操作是分别设计的 以对数据进行操作的过程作为程序的主体 4 2 1面向对象程序设计的基本思想与VFP的实现方法 1 面向对象程序设计的基本思想 VisualFoxPro 5 面向对象程序设计 将数据及对数据的操作放在一起 作为一个相互依存 不可分割的整体来处理 它将对象及对对象的操作抽象成对象属性和对象方法 这些对象的属性就是要处理的数据 而对象的方法就是对这些数据进行操作 面向对象程序设计就是通过对对象属性方法的设置 达到对对象操作的目的 基本概念 对象 类 子类 继承 属性 方法 事件等 面向对象程序设计 ObjectOrientedProgramming简称为OOP 1 对象 Object 对象 Object 是组成程序的构件 作为程序构件的 对象 是对现实世界中一个实体的一种模拟工具 例如 一个人 一个命令按钮等都是对象 VisualFoxPro 6 对象是反映客观事物属性及行为特征的描述 每个对象都具有描述它的特征的属性 及附属于它的行为 一个人有姓名 性别 出生年月 命令按钮有高度 宽度 颜色等 每个对象有自己的行为 如人可以站立 行走 命令按钮可以单击 双击等 2 属性 ATTRIBUTE 属性 是对象的一组特征数据 每个对象都有多个属性来描述 不同的对象可以有相同的属性 但必须有不同的属性值来区分他们 例如 一个人有姓名 年龄 身高 体重等属性 对象张三和对象李四具有相同的属性 但他们有不同的属性值 至少一个姓名属性值为 张三 另一个为 李四 VisualFoxPro 7 在VisualFoxPro中 一个对象的属性就是该对象的一项数据特性 例如 一个标签对象Label1 有字体 FontSize 标题 Caption 字体大小 FontSize 等属性 同样 不同的标签对象间 必定有不同的属性值来区分它们 3 事件 Event 与方法 Means 事件 事件是对象可能作出的行为或动作 属于对象的静态特征 它是预先定义好的动作 通过用户的操作或系统来引发 事件是通过用户的交互操作产生的 在VFP统中 对象可以响应50多种事件 例如 一个人的坐 立 走都是人可以作出的动作 如命令按钮的事件 系统规定了包括了单击 click 右键单击 rightclick 等 VisualFoxPro 8 方法 对象的方法是对于对象行为的描述 VFP中每个对象都可以有若干个方法 相同类型的对象具有相同的方法 不同类型的对象也可以具有相同的方法 事件与方法的区别和联系 事件和方法是两个不同的概念 事件 是预先定义好的动作 是由用户或系统引发的 是先有用户的操作 然后才有事件的发生 方法 方法可以看作是对象具有的行为能力 它是对象用来实现某一任务的途径 例如 在对象上单击鼠标会执行一个相应的命令或一段相应的程序 则有这个命令或这段程序就是这个对象的方法 VisualFoxPro 9 正常情况下 激活一个事件 将执行相应的方法 如果这个事件没有事先定义 则不可能发生这个事件 如果定义了事件 而事件的方法没有事先设置 则对对象发生事件时不会有任何反映 方法靠事件进行引发 所以二者是相互依赖 相辅相成的 例如 乘客登上飞机 触发了一个 登机 的事件 飞机在飞行 是飞机这个对象 在执行 飞行 这个方法 飞机具有飞行的能力 所以 登机 是一个事件 而 飞行 则是方法 事件与方法紧密联系 VisualFoxPro 10 类的定义 类 是具有相同属性特征和行为规则的多个 对象 的一种统一描述 类就是对一类相似对象的属性和行为特征的抽象描述 或者说 类是具有共同属性 共同操作性质的对象的集合 在VFP系统中 类就像是一个模板 对象都是由类生成的 类定义了对象所有的属性 事件和方法 从而决定了对象的属性和它的行为 VFP系统为用户提供29个基类 对于一个学校的全体学生 描述其特征的数据模式是相同的 行为规则有不同的地方 也有相同的地方 但如果将行为的选择加以一些限制 将引起学生反映的外部事件归纳为 4 类 Class VisualFoxPro 11 当一个学年度不及格科目超过学校规定时 这一部分学生应该留级或受到警示 完成规定科目的学习并考试合格者 学生的整体反映是毕业离校 一般管理信息系统中 系统的使用者和设计者所关心的问题正是这样一些共性问题而并非一些很个体的问题 设计者对个体的行为进行分析 归纳 抽象 形成整个群体的共同行为规范 并把这种共同的行为规范用程序设计语言描述成程序过程 和描述该群体的特征数据模式一起进行封装 这样就完成了OOP方法中一个 类 的设计 一个新学年度到来时 学生的整体反映应该是缴费报到 VisualFoxPro 12 类 是一个数据模式和若干个程序过程 称为 方法程序 一般一种行为用一个程序过程描述 经封装而形成的一个整体 它是使用信息技术对现实世界的一种模拟与抽象 对象 则是 类 的一个实例 用程序设计语言来说 对象 可以不精确的理解为对一个 类 赋值的结果 对象 是OOP方法中组成程序的一种构件 总之 从程序设计者的角度观察 类的特性 类具有多态性 封装性 抽象性 继承性等特性 多态性 多态性主要是指允许相关的对象对同一消息做出不同的反应 VisualFoxPro 13 封装性 是指类的内部信息对用户是隐蔽的 由于类具有封装性 因此不必被类的概念或类的抽象所困扰 在使用类时 用户不需熟悉对象内部的复杂性 只需掌握类的使用方法 例如 使用照相机照相时 无需了解照相机是怎样设计的和内部构造 只要会使用即可 类的封装性使应用程序的可用性大大提高了 抽象性 允许用户忽略实施细节 从更高的等级上考虑一个实体 继承性 指通过继承关系利用已有的类构造新类 任何一个基类都有它的属性 即使用户没有定义 VFP系统也赋给基类相应的缺省值 继承性 Inheritance VisualFoxPro 14 对象能自动继承创建它的类的功能 子类能自动继承父类的功能 对一个类的改动能反映到它的所有子类中 2 VFP面向对象思想的实现方法 VFP提供的设计器 1 VFP基类 在VFP中 为了实现面向对象的程序设计或创建应用程序 系统提供了可以使用的基本类 即VFP基类 这个基类是系统本身内含的 不存于某个类库中 用户可以基于基类生成所需的对象 也可以创建自己的类 217页表4 7给出了VFP基类列表 VisualFoxPro 15 VFP中的基类 每一个基类对应表单控件工具栏上的一个图形按钮 每一个VFP基类都有自己的一套属性 方法和事件 容器类容器类可以包含其他对象 并且允许访问这些对象 例如 若创建一个含有两个命令按钮的容器类 而后将该类的一个对象加入表单中 那么无论在设计时刻还是在运行时刻 都可以对该容器中任何一个对象进行单独操作 VisualFoxPro 16 不仅可以改变命令按钮的位置 标题 也可以在设计阶段给这个容器添加新对象 控件类控件类的封装比容器类更为严密 但也因此丧失了一些灵活性 他不能包含其他对象 最典型的控件类就是命令按钮 文本 文本自身是一个对象 在文本中不可放其它对象 容器类虽然在引用时可以视为一个整体 但无论是在设计阶段还是在运行阶段 其所包含的对象都是可识别并可以单独操作的 由控件类创造的对象 使用和修改需经容器进行引用 VisualFoxPro 17 VFP中的对象 2 VFP对象 VFP的对象由基类生成 VFP给出的各种控件工具栏提供了可以生成对象的按钮 当选择一个按钮在表单上单击或拖动画出一个控件时 即生成了一个对象 容器与控件控件 是一个以图表化方式显示出来并能与用户进行交互的对象 控件通常被放置于一个容器里 他不能包含其他对象 最典型的控件就是命令按钮 文本 文本自身是一个对象 在文本中不可放其它对象 容器 是一种特殊控件 是可以包含其它对象的对象 书218页表4 9列出了VFP中常用的容器及其所能包容的对象 VisualFoxPro 18 表单容器对象及所包容的对象情况 容器对象 控件对象 VisualFoxPro 19 对象的引用 在面向程序设计中 首先要明确下面几个问题 容器中的对象仍然可以是一个容器 一般把一个 对象 的直接容器称为 父容器 在调用特定的对象时 搞清该对象的 父容器 是至关重要的 不能把一个对象的间接容器错误地视为其 父容器 容器中对象的层次 对象使用局域名 每个对象都有一个名字 在给对象命名时 只要保证同一个 父容器 下的各对象不重名即可 换句话说 对象使用的是局域名 因此不能单独使用对象名来调用对象 VisualFoxPro 20 书219页图4 25中的用对象的名称 表单 Form1页框 pageframe1页名 page1 page2 page3标签 lable1 lable2 lable3 lable4组合框 combo1 combo2文本框 text1 text1列表框 list1 list2命令按钮 command1 command2以上是系统默认的名称 用户可以修改 例如 form1修改为 字体对话框 page1 字体 lable1 中文字体 等等 VisualFoxPro 21 以上格式所表示的是中的对象 不是前面的部分 其间用小数点分隔 如果某个对象直接放在表单上 则引用时不应再写容器名 对象引用方式 对象引用中的关键字及含义 见书220页表4 10 This 表示当前对象Parent 表示当前对象的直接 父容器 ThisForm 表示包含当前对象的表单ThisFormSet 表示包含当前对象的表单所属的表单集例如在图4 25中 命令按钮1的引用 mand1Text1引用 thisfrom pagefrane1 page1 text1 VisualFoxPro 22 属性窗口打开属性窗口的方法 3 VFP对象的属性 显示菜单 属性 右击表单空白处 快捷菜单 属性 属性窗口各部分功能 对象组合框 下拉列表中显示当前表单 表单集及全部控件对象的列表 选择任意对象 将在属性列表框中列出有关这个对象的所有属性 事件和方法程序供选择设置 选项卡 包含5个选项卡 分别用来显示对象的属性 事件 方法程序等 各选项按字母顺序排列 VisualFoxPro 23 全部 列出对象的所有属性 事件 方法程序 数据 列出所有显示或操纵的数据属性 方法程序 对象的方法程序与事件 带有EVENT的是事件 其余为方法程序 布局 对象的位置 大小 颜色 字体等属性 其它 类信息和用户自定义属性等 注意 不同的对象 有不同的属性值 属性设置框 用于更改属性值的文本框或组合框 左边的三个按钮 fx 可以取消和设置以及调用函数 属性列表 给出在对象组合框选定的对象按选定选项卡分类后的各种属性 包括属性名和当前属性值 如果选中某个属性 其值会在属性设置框中出现 以供修改 VisualFoxPro 24 属性说明信息 显示在属性列表中被选择属性的含义 常用属性介绍不同的对象有不同的属性 有些对象属性有上百个 有些属性只是在特别需要时才用到 而有些属性经常用到 而且很多对象具有一些相同的属性 书面221页表4 12给出了一些常用或通用的属性 引用对象属性格式 例如 图4 25中 表单标题为 字体对话框 表示如下 Thisform coption 字体对话框 将文本框text1输入的值存入变量ww中 代码为 ww thisform pagefrane1 page1 text1 value VisualFoxPro 25 1 Caption属性 标题属性指定对象标题中显示的文本 2 Name属性指定在代码中引用对象时所用的名称 3 AutoSize属性 控件是否根据正文自动调整大小 T 真 自动调整大小 F 假 默认 保持原来设计时大小 正文太长 则自动裁剪掉 4 Heigh属性 指定对象在屏幕上的高度 5 Top属性控件 指定相对父对象最顶端的所在的位置表单对象 确定表单顶部边缘与VFP主窗口间距离 VFP中的常用属性 VisualFoxPro 26 控件 相对父对象的左边界距离表单 表单左边界与VFP主窗口左边界的距离 8 Enabled属性 指定控件是否可用 T 真 可用 F 假 不可用 呈暗淡色 禁止用户操作 9 Visible属性 指定控件是否可见 T 真 可见 F 假 不可见 但控件本身存在 10 FontName属性 指定对象显示文本的字体名 11 FontSize属性 指定对象文本字体大小 7 Left属性 VisualFoxPro 27 FontBold 是否为粗体FontItalic 是否斜体FontStrikethru 是否加一条删除线FontUnderline 是否带下划线 13 ForeColor属性 设置正文颜色 14 BackColor属性 设置背景颜色 15 BackStyle属性 设置背景风格透明 控件背景颜色不显示不透明 控件设置背景颜色 12 指定文本效果属性 VisualFoxPro 28 无 控件周围无边框固定单线 控件带有边框 17 Alignment属性 标签 文本框 复选框中正文对齐方式 不同控件默认值不同 左 左对齐右 右对齐中间 正文居中 18 WordWrap属性 AutoSize属性为 T 时有效 T 真 垂直方向上改变区域大小 水平不变化 F 假 水平方向按正文的长度放大和缩小区域 在垂直方向以字体大小放大和缩小区域 16 BordeStyle属性 设置边框风格 VisualFoxPro 29 20 Picture属性 指定控件中显示的位图 图标文件或通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-河南-河南假肢制作装配工五级(初级工)历年参考题库含答案解析
- 2024版电子商务合同的法律问题与对策
- 2025年事业单位工勤技能-河北-河北汽车驾驶与维修员五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-新疆-新疆计算机文字录入处理员三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西水土保持工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西印刷工二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西保安员一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东园林绿化工一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-北京-北京造林管护工五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-北京-北京下水道养护工三级(高级工)历年参考题库含答案解析
- 2025年广东省职工劳动合同书模板
- 短绒加工合同协议
- AI在化学史教学改革中的应用与探索
- 智能医疗设备使用者免责条款协议书
- 《工业战略性新兴产业分类目录(2023)》
- DB32-T4743-2024重点化工企业全流程自动化控制配备和提升规范
- 腺垂体功能减退 教案
- 交通银行个人消费贷款合同(格式文本)
- 2025睿实消防自动跟踪定位射流灭火系统说明书
- 绿色施工管理体系与管理制度模版
- 质量控制在银行业中的应用
评论
0/150
提交评论