
VFP第6章基本概念与对象的操作.ppt
26页一.基本概念 Ø 面向对象的程序设计方法(OOP)把研究的事物、 概念等称为“对象(Object)”,把对象作为问题 的基本元素,把对象作为分析问题和解决问题的 核心 Ø 用户通过创建对象,设置对象属性,选用事件 ,编写方法程序,激活事件来处理对象Ø 下面通过简单的程序设计,初步了解面向对象 的程序设计方法 例6-1:设计如图所示表单当点击“你好!” 或“再见!”或“你好!再见!”按钮时,在表 单显示或隐藏文字表单文件EX6-1.SCX设计步骤: ⑴文件→新建→表单→新建文件 ⑵添加2个标签,4个命令按钮控件 ⑶设置控件属性值:FROM1的Caption=“你好与再见“Label1的Caption=“你好!“Label2的Caption=“再见!“Command1的Caption=“你好“Command2的Caption=“再见”Command3的Caption=“你好!再见!“Command4的Caption=“结束“⑷编写Command1~Command4Click事件代码:1.对象(Object) Ø 世界上任何有形的或无形的事物都可称为“对 象”对象是构成程序的基本单位和运行实体。
Ø VFP的对对象分为为:容器对对象和控件对对象 例如:一台计算机是一个对象,将其拆开便有显 示器、机箱、硬盘、主板、处理器等,这每一个 部件又是一个对象计算机对象是由多个“子” 对象组成,计算机对象是一个容器类对象Ø 任何对象都具有各自的特征与行为对象的特 征是通过它的各种属性来描述的;对象的行为是 通过它的事件和方法程序来表达的 2.属性(Property) 对象的属性:属性是对对象具有的各自的特性 Ø 对象的特征是通过它的各种属性值来描述的 例如,一个“命令按钮“有位置、 大小、颜色、 标题、字体等基本属性属性窗口:属性窗口包含所有选定表单、控件、 数据环境、关系的属性、事件和方法程序可以 对属性值进行设置或更改3.事件(Event) Ø 事件是一种预先定义的特定动作 Ø 在Visual FoxPro中,可以激发事件的动作主要 有:单击鼠标(Click)、双击鼠标(DblClick)、按 键(key Press)、移动鼠标(MouseMove)等如鼠 标单击“退出”按钮,将触发一个Click事件Ø 一个对象可以有多个事件,一个事件对应于一 个程序代码,称为“事件过程”4.方法程序(Method) Ø 方法指与对对象相关联的、由程序执执行的一个处处 理过过程,即处处理事件的一组组代码码。
Ø “方法”与“事件”都是为了完成某个任务, 方法可以独立于事件而存在 例如:为了退出表单的执行过程,可以编写Click 事件的方法程序THISFORM.RELEASE5.类与子类 Ø 类(Class)是具有共同属性、共同操作性质的对 象集合 Ø 类定义了对象所具有的属性、事件和方法,从 而决定了对象的外表和它的行为1)基类(父类) Ø 基类是系统统本身提供的类类基类类包括容器类类和 控件类类 容器类:容器类类可以容纳其他对象,是其他对对象 的集合,并可以访问所包含的对象 如,表单(FORM)是一个容器类类对象,它可以包含 命令按钮、编辑框、文本框控件表格、选项选项 按 钮组钮组 、命令按钮组等也是容器类类对象控件类:控件类类是单单一的对对象,不能容纳和包含 其他对对象,如命令按钮钮、文本框、编辑框等是控 件类类对象 Ø 控件类对象只能作为容器类对象中的一员,通 过容器类对象对其进行修改或访问2)子类(派生类) Ø 以某个父类为起点创建的新类称为子类,从基 类派生新类时,基类为父类,新类为子类 Ø 子类既可以从基类创建,也可以从子类再派生 子类,或从用户自定义类再派生子类子类继承 父类的全部特征。
例如:水果是基类,苹果是子类,而红富士苹果 品种又是苹果类的子类3)用户自定义类 Ø 用户可以从基类派生出子类,并修改或添加子 类属性与方法,这样的子类称为“用户自定义类 ” Ø 在面向对象程序设计中,创建并设计合适的子 类,是提高代码通用性、减少代码的重要手段二.对象的引用 Ø 由于容器类对象的存在,因此,对象可以嵌套 在引用和操作容器类对象时,首先要标识对象 与容器的层次关系 例如:点击表单的一个命令按钮时,必须要先引 用表单,然后才是该命令按钮 Thisform.Command1.Caption=“退出” 对象引用分为:绝对引用和相对引用1.绝对引用 Ø 绝对引用某对象时,需要指明与该对象关联的 所有容器类对象绝对引用用“.”作对象路径 分隔符号 例如:表单Form1中命令按钮Command1的Caption 属性=“退出”,绝对引用为: Thisform.Command1.Caption=“退出“ 2.相对引用 例如:This.Command1.Caption=“退出“ 3.常用对象引用规则 ⑴引用关键字开头 THISFORMSET 当前表单集 THISFORM 当前表单 THIS 当前对象 ⑵引用格式 引用关键字后跟一个点号,其后写被引用对象或 对象的属性、事件或调用方法程序。
THIS.Caption &&该对象的 Caption属性 THISFORM.Cls &&该表单的Cls方 法程序⑶多级逐级引用 Thisform.Command1.Caption=“退出” Thisform.Commandgroup1.Command1. Caption=“退出”⑷控件中引用包含它的容器 格式:Control.Parent 其中: Control表示控件,Parent表示容器 例如:三.设置对象属性值 格式:ObjectName.Property[=Setting] 例如: THIS.FontBold=.T. &&该对象文本以粗体显示 THIS.Parent.Caption=time( ) &&该对象 容器的Caption属性设置为当前时间 例6-2:设计含有一个文本框控件的表单,当单击 文本框时,能轮流显示当前日期与时间表单文件名:rqsj.scxØ 创建表单:MODIFY FORM rqsj Ø 创建文本框控件,命令按钮控件: Ø 设置表单Form1的Caption属性=“日期与时间”, 命令按钮Command1的Caption属性=“退出” 编写表单Form1的Load事件代码: Load事件指表单装入内存时被触发。
Ø 在对象组合框选择Form1,在过程组合框选定 Load事件,在列表框输入代码:编写文本框的Click事件代码: Click事件指在鼠标点击时触发。
