vf 向对象程序设计基础【谷风详析】.ppt

上传人:rrsccc 文档编号:10319363 上传时间:2021-05-08 格式:PPT 页数:32 大小:1.15MB
返回 下载 相关 举报
vf 向对象程序设计基础【谷风详析】.ppt_第1页
第1页 / 共32页
vf 向对象程序设计基础【谷风详析】.ppt_第2页
第2页 / 共32页
vf 向对象程序设计基础【谷风详析】.ppt_第3页
第3页 / 共32页
vf 向对象程序设计基础【谷风详析】.ppt_第4页
第4页 / 共32页
vf 向对象程序设计基础【谷风详析】.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《vf 向对象程序设计基础【谷风详析】.ppt》由会员分享,可在线阅读,更多相关《vf 向对象程序设计基础【谷风详析】.ppt(32页珍藏版)》请在三一文库上搜索。

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

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

3、的事件发生时, 可以指定是直接“播放”,还是先“快进”一小段后再开始“播放”。,5,特制分析,事件可以由一个用户动作产生,如单击鼠标 或按键,也可以由程序代码或者系统产生,如计时器每隔一段时间产生的到时事件就是由系统产生。大多数情况下,事件是通过用户的交互操作产生的。,在Visual FoxPro中,可以激发事件的用户 动作包括:单击鼠标(Click)、双击鼠标 (DblClick)、按键(keyPress)、移动鼠标 (MouseMove)等。,6,特制分析,(3)方法,方法(Method)是用来处理或操纵对象的途 径。对象通常会提供一些方法,以便应用程序可 以使用对象所提供的服务。,例如,

4、录音机提供了“播放”、“停止”、“暂 停”、“快进”、“快退”等操作按钮,而这些按钮其 实就相当于录音机提供的方法。用户只要按下这 些按钮,就可以得到录音机所提供的播放、停止 播放、快进、快退等服务。,7,特制分析,3、类,类(Class)和对象关系密切,但并不相同。类是对同一类对象的抽象,类包含了有关对象的 特征和行为信息,它是对象的蓝图和框架,而 类的实例就是一个对象。,例如:桥梁是一个抽象的概念,而东方红大桥、涪江三桥、涪江二桥就是桥梁这个概念衍生而来的具体实例。这里的桥梁就是类,而东方红大桥、涪江三桥、涪江二桥就是具体对象。,8,特制分析,4、类的特性,(1)继承性。,子类具有父类的基

5、本特性,并且可以在父类基础上派生出更多的特性。,(2)封装性,将不必要的代码全部封装,(3)多态性,多态指由继承而产生的相关的不同的类,其对象对同一消息做出不同的响应,9,特制分析,二、基本方法,面向对象编程模型,10,特制分析,三、面向对象编程实例,例1、一个简单表单程序的编写示例。 表单上有两个按钮,一个按钮是“显示英文”, 另一个按钮是“退出”。运行时,首先显示一行文 字:“欢迎光临!”。当单击“显示英文”按钮时,文 字变成英文的“He11o,World!”;当单击“退出”按钮 时,关闭表单,程序结束。,11,特制分析,步骤:,(1)创建容器对象-表单。操作步骤:“文件”菜单中的“新建”

6、,弹出“新建”对话框,选取“表单”,单击右上方的“新建文件”按钮,进入表单设计器。新表单具有默认名称Form1,默认标题Fom1。,(2)定义数据环境-本例没有涉及数据库与表操作。,(3)摆放控件对象。,12,特制分析,Lable1控件,Command1控件,Command2控件,13,特制分析,(4)设置对象属性。如果没有出现“属性”窗口,可以从“显示”菜单中点选“属性”,或者鼠标左键单击系统工具栏上的“属性窗口”按钮,使“属性”窗口出现在屏幕上。 分别将label1、command1、command2的caption属性设置为:“欢迎光临”、“显示英文”和“退出”。,(5)编写事件代码。针

7、对事件进行编程,从而实 现对用户鼠标事件的响应。,14,特制分析, Command1的Click事件。鼠标双击Command1,在出现的代码窗口中,左上方“对象”框中应是“Commmd1”,右上方“过程”框中应是“Click”,表示现在编写命令按钮Command1的Click事件代码。如 果不是,应使用鼠标左键进行选择。 在代码窗口中输入以下内容: ThisForm.Label1.Caption=Hello,World !, Command2的Click事件代码。用鼠标单击代码窗口左上方“对象”框右边的向下箭头,在弹出的列表中选择“Command2”,或者在表单上直接用鼠标双击Command2

8、,在Click事件代码窗口中输入: Thisform.Release,15,特制分析,运行时界面,点击显示英文后的界面,16,特制分析,8.2 类、属性、事件与方法程序,一、类的概念,1、基类,基类是VFP预先定义好的类。基类又分为控件类和容器类,由此创建出的具体对象又称为控件类对象和容器类对象。,17,特制分析,(1)容器类:容纳别的对象,并允许访问所包含的对象。容器类包括表单、命令组按钮、页框等。,(2)控件类:不能容纳其他对象的基类。控件类包括标签、文本框、复选框、组合框、定时器等。,详细参考p181表格。,18,特制分析,2、子类,以某个类(基类)为起点创建出的新类称为子类,子类继承父

9、类的全部特征。,3、用户自定义类,用户从基类派生出子类,并且根据实际情况对其属性、方法等作了调整或增加或删除等操作。,4、类库,用来存储可视化方式设计的类,扩展名为.VCX。,19,特制分析,二、属性、事件与方法程序,1、属性,VFP中,对象的属性可以通过属性窗口设置,也可以通过代码在程序运行时设置。常用属性见p182,VFP中,可以在事件代码窗口中编写代码程序。VFP核心事件如下表:,2、事件,20,特制分析,21,特制分析,22,特制分析,3、方法程序,方法是对象所能执行的操作,方法程序是对象能够执行的、完成的相应任务的操作命令代码的集合。以表单为例,常用方法程序有如下一些:,23,特制分

10、析,24,特制分析,8.3 对象的操作,一、对象的包容层次,一个容器类对象包含另一个对象时,该对象是容器类对象的子对象,而容器类对象是该对象的父对象。下图是一种可能的对象包容关系示意图。,25,特制分析,二、对象的引用,引用关键字:,引用时应该根据对象所在的层次决定其引用方法,一般而言是从上到下逐级应用。具体参看p183的说明部分。,26,特制分析,引用举例:,This & 当前具体对象,Thisform & 当前表单,Thisformset & 当前表单集,Thisform.label1 & 当前表单中名为lable1的标签,Tmand1 & 当前表单名为 command1的按钮,Tmand

11、1 &当前表单中名为commandgroup1中的名为command1的按钮,27,特制分析,三、设置对象的属性值,(1)设置单个属性,在事件或方法程序中用命令设置属性,语法如下: .=,常见的属性值类型有数值型、字符型、逻辑型、颜色RGB值等。,28,特制分析,例如:,Thisform.lable1.caption=“hello,world!”,Thisform.lable1. ForeColor=RGB(0,0,0),Tmand1. visible=.t.,Tmand1. enable=.f.,当前表单label1的caption(标题)属性设置为“hello,world”,当前表单lab

12、el1的字体颜色属性设置为黑色,设置当前表单command1可见,设置当前表单command1不可使用,29,特制分析,(2)设置多个属性 当对一个对象一次性设置多个属性时,可以简化设置过程。语法如下:,格式: With . = . = EndWith,功能:一次设置指定对象的多个属性值。,30,特制分析,例如,设置标签Label1的多个属性,可以使用以下语句实现:,with thisform.labell .enabled=.T. &控件有效 .forecolor=RGB(0,0,0)&黑色文本 .visible=.T. &控件可见 endwith,31,特制分析,四、调用方法,格式:引用的对象.方法,功能:对指定对象调用指定方法,例如:,Thisform.release &释放当前表单,Thisform.text1.setfocus &让当前表单中的 text1控件获得焦点,32,特制分析,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1