vf向对象程序设计基础谷风详析

上传人:仙*** 文档编号:34707908 上传时间:2021-10-23 格式:PPT 页数:32 大小:1.15MB
返回 下载 相关 举报
vf向对象程序设计基础谷风详析_第1页
第1页 / 共32页
vf向对象程序设计基础谷风详析_第2页
第2页 / 共32页
vf向对象程序设计基础谷风详析_第3页
第3页 / 共32页
点击查看更多>>
资源描述
第八章面向对象程序设计1特制分析学习目标:1)了解面向对象程序设计的基本知识2)理解VFP中的类、属性、事件与方法程序等基本概念3)熟悉对象的操作2特制分析8.1 面向对象程序设计基础知识一、基本概念1、对象 “对象”(Object)是面向对象程序设计方法学中最基本的概念。在应用领域中有意义的、与所要解决问题有关系的任何事物都可以称作对象。它既可以是具体的物质实体的抽象,也可以是人为的概念。例如一名学生、一所学校、一个表单、一个按钮等都可以作为一个对象。3特制分析2、对象的属性、事件和方法(1)属性 所谓属性(Property)就是对象表现出来的特征、状态或行为,就像录音机有型号、尺寸、颜色、出厂日期等特征一样。不同的对象可以拥有各种相同或不同的属性,其中有些属性是只读并且无法改变的,而有些则可以通过设定来改变。这就好像录音机的出厂日期、型号等属性是无法改变的,但操作面板上所显示的时间则可通过设定来改变。4特制分析(2) 事件与事件响应 事件(Event)就是对象所碰到的情况,即由系统预先定义的由用户或系统触发的动作。例如,有录音带被放进录音机,或者是录音带播完,这样的情况就是一个“事件”。当一个事件发生后,就需要对该事件进行响应。也就说,可以事先指定当事件发生时,对象要做出什么样的反应。 例如,当“录音带放进录音机”的事件发生时,可以指定是直接“播放”,还是先“快进”一小段后再开始“播放”。5特制分析 事件可以由一个用户动作产生,如单击鼠标或按键,也可以由程序代码或者系统产生,如计时器每隔一段时间产生的到时事件就是由系统产生。大多数情况下,事件是通过用户的交互操作产生的。 在Visual FoxPro中,可以激发事件的用户动作包括:单击鼠标(Click)、双击鼠标(DblClick)、按键(keyPress)、移动鼠标(MouseMove)等。6特制分析(3)方法 方法(Method)是用来处理或操纵对象的途径。对象通常会提供一些方法,以便应用程序可以使用对象所提供的服务。 例如,录音机提供了“播放”、“停止”、“暂停”、“快进”、“快退”等操作按钮,而这些按钮其实就相当于录音机提供的方法。用户只要按下这些按钮,就可以得到录音机所提供的播放、停止播放、快进、快退等服务。7特制分析3、类 类(Class)和对象关系密切,但并不相同。类是对同一类对象的抽象,类包含了有关对象的特征和行为信息,它是对象的蓝图和框架,而类的实例就是一个对象。 例如:桥梁是一个抽象的概念,而东方红大桥、涪江三桥、涪江二桥就是桥梁这个概念衍生而来的具体实例。这里的桥梁就是类,而东方红大桥、涪江三桥、涪江二桥就是具体对象。8特制分析4、类的特性(1)继承性。 子类具有父类的基本特性,并且可以在父类基础上派生出更多的特性。 (2)封装性 将不必要的代码全部封装 (3)多态性 多态指由继承而产生的相关的不同的类,其对象对同一消息做出不同的响应9特制分析二、基本方法对象数据与代码属性事件方法应用程序读取/设置调用响应面向对象编程模型10特制分析三、面向对象编程实例例1、一个简单表单程序的编写示例。 表单上有两个按钮,一个按钮是“显示英文”,另一个按钮是“退出”。运行时,首先显示一行文字:“欢迎光临!”。当单击“显示英文”按钮时,文字变成英文的“He11o,World!”;当单击“退出”按钮时,关闭表单,程序结束。11特制分析步骤:(1)创建容器对象-表单。操作步骤:“文件”菜单中的“新建”,弹出“新建”对话框,选取“表单”,单击右上方的“新建文件”按钮,进入表单设计器。新表单具有默认名称Form1,默认标题Fom1。(2)定义数据环境-本例没有涉及数据库与表操作。(3)摆放控件对象。12特制分析Lable1控件控件Command1控件控件Command2控件控件13特制分析(4)设置对象属性。如果没有出现“属性”窗口,可以从“显示”菜单中点选“属性”,或者鼠标左键单击系统工具栏上的“属性窗口”按钮,使“属性”窗口出现在屏幕上。 分别将label1、command1、command2的caption属性设置为:“欢迎光临”、“显示英文”和“退出”。(5)编写事件代码。针对事件进行编程,从而实现对用户鼠标事件的响应。14特制分析 Command1的Click事件。鼠标双击Command1,在出现的代码窗口中,左上方“对象”框中应是“Commmd1”,右上方“过程”框中应是“Click”,表示现在编写命令按钮Command1的Click事件代码。如果不是,应使用鼠标左键进行选择。在代码窗口中输入以下内容: ThisForm.Label1.Caption=Hello,World ! Command2的Click事件代码。用鼠标单击代码窗口左上方“对象”框右边的向下箭头,在弹出的列表中选择“Command2”,或者在表单上直接用鼠标双击Command2,在Click事件代码窗口中输入: Thisform.Release15特制分析运行时界面点击显示英文后的界面16特制分析8.2 类、属性、事件与方法程序一、类的概念1、基类 基类是VFP预先定义好的类。基类又分为控件类和容器类,由此创建出的具体对象又称为控件类对象和容器类对象。17特制分析(1)容器类:容纳别的对象,并允许访问所包含的对象。容器类包括表单、命令组按钮、页框等。(2)控件类:不能容纳其他对象的基类。控件类包括标签、文本框、复选框、组合框、定时器等。详细参考p181表格。18特制分析2、子类 以某个类(基类)为起点创建出的新类称为子类,子类继承父类的全部特征。3、用户自定义类 用户从基类派生出子类,并且根据实际情况对其属性、方法等作了调整或增加或删除等操作。4、类库用来存储可视化方式设计的类,扩展名为.VCX。19特制分析二、属性、事件与方法程序 1、属性 VFP中,对象的属性可以通过属性窗口设置,也可以通过代码在程序运行时设置。常用属性见p182 VFP中,可以在事件代码窗口中编写代码程序。VFP核心事件如下表: 2、事件20特制分析21特制分析22特制分析3、方法程序 方法是对象所能执行的操作,方法程序是对象能够执行的、完成的相应任务的操作命令代码的集合。以表单为例,常用方法程序有如下一些:23特制分析24特制分析8.3 对象的操作一、对象的包容层次 一个容器类对象包含另一个对象时,该对象是容器类对象的子对象,而容器类对象是该对象的父对象。下图是一种可能的对象包容关系示意图。表单集FormSet表单Form1文本框Text1选项按钮组选项按钮1选项按钮2命令按钮Command1命令按钮组命令按钮1命令按钮225特制分析二、对象的引用引用关键字: 引用时应该根据对象所在的层次决定其引用方法,一般而言是从上到下逐级应用。具体参看p183的说明部分。26特制分析引用举例:This & 当前具体对象Thisform & 当前表单Thisformset & 当前表单集Thisform.label1 & 当前表单中名为lable1的标签Tmand1 & 当前表单名为 command1的按钮Tmand1 &当前表单中名为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”当前表单label1的字体颜色属性设置为黑色设置当前表单command1可见设置当前表单command1不可使用29特制分析(2)设置多个属性当对一个对象一次性设置多个属性时,可以简化设置过程。语法如下:格式:With . = . = EndWith功能:一次设置指定对象的多个属性值。30特制分析例如,设置标签Label1的多个属性,可以使用以下语句实现:with thisform.labell.enabled=.T. &控件有效控件有效.forecolor=RGB(0,0,0) &黑色文本黑色文本.visible=.T. &控件可见控件可见endwith31特制分析四、调用方法格式:引用的对象.方法功能:对指定对象调用指定方法例如:Thisform.release &释放当前表单 Thisform.text1.setfocus &让当前表单中的 text1控件获得焦点32特制分析
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!