vf 向对象程序设计基础
.
3、类
类(Class)和对象关系密切,但并不相同。类 是对同一类对象的抽象,类包含了有关对象的 特征和行为信息,它是对象的蓝图和框架,而 类的实例就是一个对象。
例如:桥梁是一个抽象的概念,而东方红大桥、 涪江三桥、涪江二桥就是桥梁这个概念衍生而来的 具体实例。这里的桥梁就是类,而东方红大桥、涪 江三桥、涪江二桥就是具体对象。
第八章面向对象程序设计
.
学习目标: 1)了解面向对象程序设计的基本知识 2)理解VFP中的类、属性、事件与方法程序等 基本概念 3)熟悉对象的操作
.
8.1 面向对象程序设计基础知识
一、基本概念
1、对象
“对象”(Object)是面向对象程序设计方法 学 中最基本的概念。在应用领域中有意义的、与所要 解决问题有关系的任何事物都可以称作对象。它既 可以是具体的物质实体的抽象,也可以是人为的概 念。例如一名学生、一所学校、一个表单、一个按 钮等都可以作为一个对象.。
2、对象的属性、事件和方法
(1)属性
所谓属性(Property)就是对象表现出来的 特征、状态或行为,就像录音机有型号、尺寸、 颜色、出厂日期等特征一样。不同的对象可以拥 有各种相同或不同的属性,其中有些属性是只读 并且无法改变的,而有些则可以通过设定来改 变。这就好像录音机的出厂日期、型号等属性是 无法改变的,但操作面板上所显示的时间则可通 过设定来改变。
详细参考p181表格。
.
2、子类 以某个类(基类)为起点创建出的新类称为
子类,子类继承父类的全部特征。
3、用户自定义类 用户从基类派生出子类,并且根据实际情况对
其属性、方法等作了调整或增加或删除等操作。
4、类库 用来存储可视化方式设计的类,扩展名为.VCX。
.
二、属性、事件与方法程序
1、属性 VFP中,对象的属性可以通过属性窗口设置,
分别将label1、command1、command2的caption 属性设置为:“欢迎光临”、“显示英文”和“退 出”。
(5)编写事件代码。针对事件进行编程,从而实 现对用户鼠标事件的响应。
.
① Command1的Click事件。鼠标双击Command1,在 出现的代码窗口中,左上方“对象”框中应是 “Commmd1”,右上方“过程”框中应是“Click”, 表示现在编写命令按钮Command1的Click事件代码。 如 果不是,应使用鼠标左键进行选择。 在代码窗口中输入以下内容:
.
4、类的特性 (1)继承性。
子类具有父类的基本特性,并且可以在父 类基础上派生出更多的特性。 (2)封装性
将不必要的代码全部封装
(3)多态性
多态指由继承而产生的相关的不同的类,其对 象对同一消息做出不同的.响应
二、基本方法
面向对象编程模型
对象
数据与 代码
属性 事件 方法
读取/设置
响应 调用
应用程 序
也可以通过代码在程序运行时设置。常用属性 见p182
2、事件 VFP中,可以在事件代码窗口中编写代码程序。
.
(3)方法
方法(Method)是用来处理或操纵对象的途 径。对象通常会提供一些方法,以便应用程序可 以使用对象所提供的服务。
例如,录音机提供了“播放”、“停止”、 “暂 停”、“快进”、“快退”等操作按钮,而这些 按钮其 实就相当于录音机提供的方法。用户只要按下这 些按钮,就可以得到录音机所提供的播放、停止 播放、快进、快退等服务。
.
(2) 事件与事件响应
事件(Event)就是对象所碰到的情况,即由 系统预先定义的由用户或系统触发的动作。例 如,有录音带被放进录音机,或者是录音带播完, 这样的情况就是一个“事件”。当一个事件发生 后,就需要对该事件进行响应。也就说,可以事 先指定当事件发生时,对象要做出什么样的反应。
例如,当“录音带放进录音机”的事件发生时, 可以指定是直接“播放”,还是先“快进”一小 段后再开始“播放”。 .
运行时界面
点击显示英文后的界面
.
8.2 类、属性、事件与方法程序
一、类的概念 1、基类
基类是VFP预先定义好的类。基类又分为控 件பைடு நூலகம்和容器类,由此创建出的具体对象又称为 控件类对象和容器类对象。
.
(1)容器类:容纳别的对象,并允许访问所包 含的对象。容器类包括表单、命令组按钮、页 框等。
(2)控件类:不能容纳其他对象的基类。控件 类包括标签、文本框、复选框、组合框、定时 器等。
事件可以由一个用户动作产生,如单击鼠标 或按键,也可以由程序代码或者系统产生,如计 时器每隔一段时间产生的到时事件就是由系统产 生。大多数情况下,事件是通过用户的交互操作 产生的。
在Visual FoxPro中,可以激发事件的用户 动作包括:单击鼠标(Click)、双击鼠标 (DblClick)、按键(keyPress)、移动鼠标 (MouseMove)等。
(2)定义数据环境------本例没有涉及数据库与表 操作。
(3)摆放控件对象。
.
Lable1控件
Command1控件
Co. mmand2控件
(4)设置对象属性。如果没有出现“属性”窗口, 可以从“显示”菜单中点选“属性”,或者鼠标左 键单击系统工具栏上的“属性窗口”按钮,使“属 性”窗口出现在屏幕上。
.
三、面向对象编程实例
例1、一个简单表单程序的编写示例。 表单上有两个按钮,一个按钮是“显示英文”,
另一个按钮是“退出”。运行时,首先显示一行文 字:“欢迎光临!”。当单击“显示英文”按钮时, 文 字变成英文的“He11o,World!”;当单击“退出” 按钮 时,关闭表单,程序结束。
.
步骤:
(1)创建容器对象------表单。操作步骤:“文件” 菜单中的“新建”,弹出“新建”对话框,选取 “表单”,单击右上方的“新建文件”按钮,进 入表单设计器。新表单具有默认名称Form1,默 认标题Fom1。
bel1.Caption="Hello,World !"
② Command2的Click事件代码。用鼠标单击代码窗 口左上方“对象”框右边的向下箭头,在弹出的列 表中选择“Command2”,或者在表单上直接用鼠标 双击Command2,在Click事件代码窗口中输入:
Thisform.Release .