• 沒有找到結果。

对象程序设计概念

在面向对象程序设计中,采用对象、类、方法、事件、继承等基本目 概念,从分析问题领域中实体的属性和行为及其相互关系入手。

一、 对象 1.对象

“对象”(Object)是面向对象程序设计方法学中最基本的概念。例如 一名学生、一所学校、一个表单、一个按钮等都可以作为一个对象。

2.类

类是对同一类对象的抽象,类包含了有关对象的特征和行为信息,它 是对象的蓝图和框架,而类的实例就是一个对象。

二、 对象的属性、事件与方法 1.属性

属性(Property)就是对象表现出来的特性,是对象的外观及行为的 特征。例如一辆汽车的大小、颜色、品牌,汽车的停止和行驶的两种状 态,这些都是一辆汽车的属性。

2.方法

方法(Method)是对象可以执行的动作,是封装在对象内部的,在 任何时候都不能独立存在于对象之外。

3.事件与事件响应

事件是对象可以识别和响应的行为与操作,用户可以编写相应的代码 对

备注

教 学 进 程 与 设 计

此进行响应。

事件可以由一个用户动作产生,如单击鼠标或按键,也可以由程序 代码或者系统产生,如计时器每隔一段时间产生的到时事件就是由系统 产生。大多数情况下,事件是通过用户的交互操作产生的。

在 Visual FoxPro 中,可以激发事件的用户动作包括:单击鼠标

(Click)、双击鼠标(DblClick)、按键(keyPress)、移动鼠标

(MouseMove)等。

4.事件过程

在每一个对象上面,都已经设定了该对象可能发生的事件,而每一 个事件都会有一个对应的空事件过程(也就是还没有规定如何处理该事 件的空程序)。

三、面向对象编程

在设计程序时,不必知道对象的内部细节,只是在需要时,对对象 的属性进行设定和控制,书写相应的事件代码即可。

四、对象编程实例

例 1:一个简单表单程序的编写示例。表单上有两个按钮,一个按 钮是“显示英文”,另一个按钮是“退出”。运行时,首先显示一行文字:

“ 欢 迎 光 临 ! ” 。 当 单 击 “ 显 示 英 文 ” 按 钮 时 , 文 字 变 成 英 文 的

“He11o,World!”;当单击“退出”按钮时,关闭表单,程序结束。

(1)创建容器对象一一表单。操作步骤:“文件”菜单中的“新建”,

弹出“新建”对话框,选取“表单”,单击右上方的“新建文件”按钮,进入表 单设计器。新表单具有默认名称 Form1,默认标题 Fom1。

(2)定义数据环境一一本例没有涉及数据库与表操作。

(3)摆放控件对象。

Form1设计界面如图 5-1 所示。

图 5-1 Form1 设计界面 图 5-2 属性窗口

备注

教 学 进 程 与 设 计

(4)设置对象属性。如果没有出现“属性”窗口,可以从“显示”菜单 中点选“属性”,或者鼠标左键单击系统工具栏上的“属性窗口”按钮,使

“属性”窗口出现在屏幕上,如图 5-2 所示。

(5)编写事件代码。针对事件进行编程,从而实现对用户鼠标事 件的响应。

① Command1的 Click 事件代码窗口中输入以下内容:

ThisForm..Label1.Caption="Hello,World !"

② Command2的 Click 事件代码窗口中输入:

Thisform.Release

(6)运行表单。“程序”-“运行”命令,或直接单击工具栏上暗红色的 感叹号。最终效果如图 5-3、5-4 所示。

图 5-3 运行时表单界面 图 5-4 单击“显示英文”按钮后的表单界面 5.2 Visual FoxPro中的类

类就像是一个模板,对象都是由它生成的。类定义了对象所有的属 性、事件和方法,从而决定了对象的属性和它的行为。本节重点介绍 Visual FoxPro中的类。

一、Visual FoxPro 的基类

基类是 Visual FoxPro 预先定义好的类,Visual FoxPro 为用户提 供了 29 个基类。Visual FoxPro 的类有两大主要类型,是容器类和控件 类。因此 Visual FoxPro 对象也分为两大类型,即容器类对象和控件类 对象。

1.容器类与容器类对象

容器类可以容纳别的对象,并允许访问所包含的对象。容器内包容 的对象,无论在设计时还是运行时,容器类对象和它所包含的对象都被 当作一个独立的对象进行操作。比如,表单是一个容器类,可以向其添 加各种对象,如文本框等,在设计时,可以分别设置表单和控件的属 性、方法,在运行时,也可以单独访问表单和这些控件对象。

备注

10分

Container 容器 任意控件 Command

控件类不能容纳其他对象,如命令按钮(Command Button)就 是一个控件类,在命令按钮中就不能包含其他对象。

Check Box 复选框 OLE Bound Control OLE绑定控件 Combo Box 组合框 OLE Container Control OLE容器控件 Command

Button

命令按钮 Option Button 选项按钮

Edit Box 编辑框 Separator 空白空间 Header 标题行 Shape 形状 Image 图像 Spinner 微调控制器 Label 标签 Text Box 文本框

Line 线条 Timer 定时器

List Box 列表框

备注

教 学 进 程 与 设 计

二、类的特性

1.封装一一隐藏不必要的复杂性

封装就是指将对象的方法程序和属性代码包装在一起。

2.继承一一充分利用现有类的功能

是指在基于现有的类创建新类时,新类继承了现有的类的属性和方 法,此外,新类中还可以有自己所特有的新的属性和方法。

3.多态

多态指由继承而产生的相关的不同的类,其对象对同一消息做出不 同的响应。

5.3 使用对象