面向对象程序设计基础

上传人:宝路 文档编号:48121237 上传时间:2018-07-10 格式:PPT 页数:32 大小:255.46KB
返回 下载 相关 举报
面向对象程序设计基础_第1页
第1页 / 共32页
面向对象程序设计基础_第2页
第2页 / 共32页
面向对象程序设计基础_第3页
第3页 / 共32页
面向对象程序设计基础_第4页
第4页 / 共32页
面向对象程序设计基础_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《面向对象程序设计基础》由会员分享,可在线阅读,更多相关《面向对象程序设计基础(32页珍藏版)》请在金锄头文库上搜索。

1、第八章面向对象程序设计学习目标: 1)了解面向对象程序设计的基本知识 2)理解VFP中的类、属性、事件与方法程序等 基本概念 3)熟悉对象的操作8.1 面向对象程序设计基础知识一、基本概念1、对象“对象”(Object)是面向对象程序设计方法学 中最基本的概念。在应用领域中有意义的、与所要 解决问题有关系的任何事物都可以称作对象。它既 可以是具体的物质实体的抽象,也可以是人为的概 念。例如一名学生、一所学校、一个表单、一个按 钮等都可以作为一个对象。2、对象的属性、事件和方法(1)属性所谓属性(Property)就是对象表现出来的 特征、状态或行为,就像录音机有型号、尺寸、 颜色、出厂日期等特

2、征一样。不同的对象可以拥 有各种相同或不同的属性,其中有些属性是只读 并且无法改变的,而有些则可以通过设定来改 变。这就好像录音机的出厂日期、型号等属性是 无法改变的,但操作面板上所显示的时间则可通 过设定来改变。(2) 事件与事件响应事件(Event)就是对象所碰到的情况,即由 系统预先定义的由用户或系统触发的动作。例 如,有录音带被放进录音机,或者是录音带播完 ,这样的情况就是一个“事件”。当一个事件发生 后,就需要对该事件进行响应。也就说,可以事 先指定当事件发生时,对象要做出什么样的反应 。例如,当“录音带放进录音机”的事件发生时, 可以指定是直接“播放”,还是先“快进”一小段后 再开

3、始“播放”。事件可以由一个用户动作产生,如单击鼠标 或按键,也可以由程序代码或者系统产生,如计 时器每隔一段时间产生的到时事件就是由系统产 生。大多数情况下,事件是通过用户的交互操作 产生的。在Visual FoxPro中,可以激发事件的用户 动作包括:单击鼠标(Click)、双击鼠标 (DblClick)、按键(keyPress)、移动鼠标 (MouseMove)等。(3)方法方法(Method)是用来处理或操纵对象的途 径。对象通常会提供一些方法,以便应用程序可 以使用对象所提供的服务。例如,录音机提供了“播放”、“停止”、“暂 停”、“快进”、“快退”等操作按钮,而这些按钮其 实就相当于

4、录音机提供的方法。用户只要按下这 些按钮,就可以得到录音机所提供的播放、停止 播放、快进、快退等服务。3、类类(Class)和对象关系密切,但并不相同。 类是对同一类对象的抽象,类包含了有关对象的 特征和行为信息,它是对象的蓝图和框架,而 类的实例就是一个对象。例如:桥梁是一个抽象的概念,而东方红大桥 、涪江三桥、涪江二桥就是桥梁这个概念衍生而来 的具体实例。这里的桥梁就是类,而东方红大桥、 涪江三桥、涪江二桥就是具体对象。4、类的特性(1)继承性。子类具有父类的基本特性,并且可以在父 类基础上派生出更多的特性。(2)封装性将不必要的代码全部封装(3)多态性多态指由继承而产生的相关的不同的类,

5、其对 象对同一消息做出不同的响应二、基本方法对象数据与 代码属性事件方法应用程 序读取/设置调用响应面向对象编程模型三、面向对象编程实例例1、一个简单表单程序的编写示例。表单上有两个按钮,一个按钮是“显示英文”, 另一个按钮是“退出”。运行时,首先显示一行文 字:“欢迎光临!”。当单击“显示英文”按钮时,文 字变成英文的“He11o,World!”;当单击“退出”按 钮 时,关闭表单,程序结束。步骤:(1)创建容器对象-表单。操作步骤:“文件” 菜单中的“新建”,弹出“新建”对话框,选取“表单 ”,单击右上方的“新建文件”按钮,进入表单设计 器。新表单具有默认名称Form1,默认标题Fom1

6、。(2)定义数据环境-本例没有涉及数据库与表 操作。(3)摆放控件对象。Lable1控件Command1控件 Command2控件(4)设置对象属性。如果没有出现“属性”窗口, 可以从“显示”菜单中点选“属性”,或者鼠标左键单 击系统工具栏上的“属性窗口”按钮,使“属性”窗口 出现在屏幕上。分别将label1、command1、command2的caption 属性设置为:“欢迎光临”、“显示英文”和“退出”。(5)编写事件代码。针对事件进行编程,从而实 现对用户鼠标事件的响应。 Command1的Click事件。鼠标双击Command1,在 出现的代码窗口中,左上方“对象”框中应是 “Com

7、mmd1”,右上方“过程”框中应是“Click” ,表示现在编写命令按钮Command1的Click事件代 码。如 果不是,应使用鼠标左键进行选择。 在代码窗口中输入以下内容:ThisForm.Label1.Caption=“Hello,World !“ Command2的Click事件代码。用鼠标单击代码窗 口左上方“对象”框右边的向下箭头,在弹出的列 表中选择“Command2”,或者在表单上直接用鼠标 双击Command2,在Click事件代码窗口中输入: Thisform.Release运行时界面点击显示英文后的界面8.2 类、属性、事件与方法程序一、类的概念1、基类基类是VFP预先定

8、义好的类。基类又分为控 件类和容器类,由此创建出的具体对象又称为 控件类对象和容器类对象。(1)容器类:容纳别的对象,并允许访问所包 含的对象。容器类包括表单、命令组按钮、页 框等。(2)控件类:不能容纳其他对象的基类。控件 类包括标签、文本框、复选框、组合框、定时 器等。详细参考p181表格。2、子类以某个类(基类)为起点创建出的新类称为 子类,子类继承父类的全部特征。3、用户自定义类用户从基类派生出子类,并且根据实际情况对 其属性、方法等作了调整或增加或删除等操作。4、类库用来存储可视化方式设计的类,扩展名为.VCX。二、属性、事件与方法程序1、属性VFP中,对象的属性可以通过属性窗口设置

9、 ,也可以通过代码在程序运行时设置。常用属 性见p182VFP中,可以在事件代码窗口中编写代码程序 。VFP核心事件如下表:2、事件事 件触发事件操作 Click按下并释放鼠标左键 DblClick双击鼠标左键,选择 列表 框或组合框中选项 并回车 Destroy释放对象时 GetFocus接收到焦点(Focus) Init创建对象 InteractiveChange 使用键盘 或鼠标改变控件 的值时 KeyPress当用户按下并释放一个键 时 Load在创建一个对象之前发生事 件触发事件操作 Lost Focus当对象失去焦点(Focus) 时 MouseDown当用户按下鼠标键时 Mous

10、eMove当鼠标移动到对象上时 MouseUp当释放鼠标按键时 ProgrammaticChange以编程方式更改控件的值 时发 生 RightClick在控件中按下并释放鼠标 右键时 Unload释放对象时3、方法程序方法是对象所能执行的操作,方法程序是对 象能够执行的、完成的相应任务的操作命令代码 的集合。以表单为例,常用方法程序有如下一些 :方法名功能方法名功能 AddObjec t向表单中 添加对象Line在表单上画线Hide隐藏表单Box在表单上画矩 形 Show显示表单Circle在表单上画圆 圈和圆弧Refresh刷新表单 上控件的 值Cls清除表单上的 文本和图形Release

11、释放表单 或表单集SetFocus设置控件对象 的焦点8.3 对象的操作一、对象的包容层次一个容器类对象包含另一个对象时,该对象是容 器类对象的子对象,而容器类对象是该对象的父对 象。下图是一种可能的对象包容关系示意图。表单集FormSet 表单Form1文本框Text1选项按钮组 选项按钮1选项按钮2命令按钮Command1命令按钮组 命令按钮1命令按钮2二、对象的引用引用关键字:关键字引用关系This该对 象本身ThisForm该对 象所在的表单ThisFormSet该对 象所在的表单集Parent包含该对 象的直接容器引用时应该根据对象所在的层次决定其引用方 法,一般而言是从上到下逐级应

12、用。具体参看p183 的说明部分。引用举例:This & 当前具体对象Thisform & 当前表单Thisformset & 当前表单集Thisform.label1 & 当前表单中名为lable1的标签Tmand1 & 当前表单名为command1的按钮Tmand1 &当前表单 中名为commandgroup1中的名为command1的按钮三、设置对象的属性值(1)设置单个属性在事件或方法程序中用命令设置属性,语法 如下:.=常见的属性值类型有数值型、字符型、逻辑型 、颜色RGB值等。例如: Thisform.lable1.caption=“hello,world!”Thisform.la

13、ble1. ForeColor=RGB(0,0,0)Tmand1. visible=.t.Tmand1. enable=.f.当前表单label1的caption(标题)属性设置为 “hello,world”当前表单label1的字体颜色属性设置为黑色设置当前表单command1可见设置当前表单command1不可使用(2)设置多个属性 当对一个对象一次性设置多个属性时,可以简化 设置过程。语法如下:格式: With . = . = EndWith功能:一次设置指定对象的多个属性值。例如,设置标签Label1的多个属性,可以使用以下 语句实现:with thisform.labell .enabled=.T. &控件有效 .forecolor=RGB(0,0,0) &黑色文本 .visible=.T. &控件可见 endwith四、调用方法格式:引用的对象.方法功能:对指定对象调用指定方法例如:Thisform.release &释放当前表单 Thisform.text1.setfocus &让当前表单中的text1控件获得焦点

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号