vf 向对象程序设计基础
Visual FoxPro 9.0 基础教程第7章 面向对象程序设计基础
类的事件和方法的定义
类的属性的定义
对象的操作
由类创建对象 objectname =createobject(classname) 设置对象的属性 父类.对象.属性=值 mand1.Caption=“退出” 调用对象的方法和触发对象的事件 Parent.Object.Method Parent.Object.Event 对象触发则执行事件的对应代码
7.1.2 类的概念
类(Class) 所谓类,就是一组对象的属性和行为特征的抽象描述。或者说,类是具有共同属性、共同操作性质的对象的集合。 类是对象的抽象描述;对象是类的实例。类是抽象的,对象是具体的。
7.2.1 基类
基类又可以分成容器类和控件类: 容器类(Containers class)可以容纳其它对象,并允许访问所包含的对象。如表单,自身是一个对象,它又可以把按钮、编辑框、文本框等放在表单中。 控件类不能容纳其它对象,它没有容器类灵活。如文本框,自身是一个对象,在文本框中不可放其它对象。由控件类创造的对象,是不能单独使用和修改的,它只能做为容器类中的一个元素,通过由容器类创造的对象修改或使用。
面向对象的可视化程序设计方法举例
7.1.1 对象的概念
对象(Object) 对象是反映客观事物属性及行为特征的描述。 对象是面向对象编程的基本元素,是“类”的具体实例。 属性(Properties) 对象的属性特征标识了对象的物理性质;对象的行为特征描述了对象可执行的行为动作。 对象的每一种属性,都是与其它对象加以区别的特性,都具有一定的含义,并赋予一定的值。
设计对象的两种方式
用编程方式设计对象 用面向对象方式设计对象
对象设计实例:编程方式
form1.SHOW 调用方法
vf课件第7章 面向对象程序设计
2. 类
类是对一组相似对象的性质描述, 类是对一组相似对象的性质描述,这些对象具有相同种类 的属性和方法,如手机( 学生( 按钮( 的属性和方法,如手机(类)、学生(类)、按钮(类)等。 类决定了对象的特征,所有对象的属性、事件和方法程序 类决定了对象的特征,所有对象的属性、事件和方法程序 属性 在定义类时被指定。 在定义类时被指定。 有了类的定义后,就可以基于类生成这类的任一个对象。 有了类的定义后,就可以基于类生成这类的任一个对象。 5
14
This:该对象,parent:该对象的父对象 该对象, 该对象 : 直接容器), ),thisform:包含该对象的 (直接容器), : 表单, 表单,thisformset:包含该对象的表单集 :
对象相对引用的基本格式如下: 对象相对引用的基本格式如下: <对象引用 对象属性 对象引用>.<对象属性 对象引用 对象属性> 如:this.caption ='确定' this.parent.cmd1.caption thisform.cmd1.caption thisfomset.form1. cmd1.caption <对象引用 对象方法 [(...)] 对象引用>.<对象方法 对象引用 对象方法> 如:thisform.refresh thisform.release
THISFORM. Command1 .Caption='确定 确定' 确定 THISFORM. Command1 .Width = 55 THISFORM. Command1 .Height = 20 THISFORM. Command1 .Fontsize=12 THISFORM. Command1 .ForeColor = RGB(255,0,0)
VFP 课件 第六章 面向对象的程序设计
第六章面向对象的程序设计表单设计就是面向对象的程序设计方法。
面向对象的程序设计方法中的一些简单概念:1、类和对象:类:是一组具有公共的方法(成员函数)和一般性的对象的描述。
它是对象的原型。
对象:是类的具体实例,是一个客观存在的实体。
比如:“人”就是一个类,而张三同学是人的一个具体实例,可以理解为人这个类的对象。
在VFP中,每个控件其实都是一个类,而我们在表单中放置一个控件时,放置在表单中那个东西就是该控件类的一个对象(实例)类的主要特点:继承性、封装性和多态性。
继承性即子类延用父类特征的能力。
如手机功能增强。
封装是这指将对象的方法程序和属性代码包装在一起。
如手机外壳。
多态性是指同一个消息可以根据接收消息的对象不同采用不同的操作。
如变色龙。
类的类型有:容器类和控件类。
容器类:可以包含其它类的对象,并且允许访问这些对象。
即可作为其它类对象的父对象。
比如:表单就是一个容器类。
控件类:不可以包含其它类的对象,但可作为其它类对象的子对象。
比如:标签和按钮就是控件类。
对象的特点:1、每个对象都具有属性,比如表单有高度、宽度等,标签有Caption等;不同对象的属性也是不尽相同的。
2、每个对象都有相关联的事件,并能对事件进行识别和响应。
比如:按钮的Click事件,当用户在按钮上单击鼠标时,电脑会自动捕获此事件,如果用户为此事件编写了相应的代码,则当此事件发生时,VFP会自动调用用户编写的程序来运行。
3、每个对象都具有一些特定的方法程序。
利用这些方法程序可自动完成某些特定操作。
(理解为对象具有完成某一功能的能力,利用对象的方法可以解决问题或实现某一功能)比如:表单的Release、Refresh、Show等方法,当退出表单时,直接调用Release 方法,VFP会自动进行一些内存的释放操作,而不用用户去编写程序完成这些问题。
时间驱动机制:在面向对象的程序设计方法中,最主要的一个特点就是事件驱动机制,用户不用去考虑程序的执行顺序,程序如何执行完全由用户的操作来决定,用户对鼠标或键盘的操作,导致某个事件发生,则VFP会自动调用该事件的代码来执行。
程序设计基础(VF)讲义
程序设计基础(VF)讲义说明:本讲义是对教案的一个说明,主要声明教学中注意的问题,难点和重点第一讲FOXPRO绪论一、教学重点和难点在绪论中,课程的重点首先是对本门课程学习目的,方法和基本内容给学生做个详细的阐述,并结合所教学生专业情况,对该课程在未来课程体系的地位和作用做个阐述。
其次,重点提出数据库、数据库管理系统和数据库系统的概念,并阐述在国民经济中的应用情况。
二、教学手段和方法多媒体教室教学,制作教学幻灯片演示三、教学基本内容1.课程基本介绍,课程学习方法介绍,考核方法2.数据、数据处理,信息的基本概念3.数据库,数据库管理系统(DBMS),数据库系统的基本概念4.数据库系统的发展,VFP简单介绍四、备注在节课程中,培养学生对课程有一定的兴趣,是我们要关注的问题,授课也该灌输这样的理念第二讲FOX命令、表达式和函数一、教学重点和难点本次课程是为学习VF奠定一定的基础,主要的重点有:数据类型的介绍,变量和常量的概念,要说清楚变量的存储特性,字符串表达式和函数二、教学手段和方法多媒体教室教学,制作教学幻灯片演示三、教学基本内容1.VFP的命令格式和和工作方式2.数据类型,变量和常量的,要让学生理解变量的存储位置,以及理解变量和常量的区别和表达方式3.不共类型的函数和表达式的构造四、备注学生理解变量和常量比较困难,要使用更多的精力处理第三讲自由表的基本操作一、教学重点和难点本次课程是很重要的一次课,目的是介绍数据库的基本单位:表。
重点和难点有:表的建立和数据的写入,一定让学生明白表的建立分两步走:结构的建立和数据的录入,要学生理解他们的不同,结构的建立一旦成功,就比较固定,而数据的录入确是个动态的过程,对数据的日常维护中,就包含:数据的插入,数据的删除,数据的更新,指针的基本概念和相关函数,指针的移动二、教学手段和方法多媒体教室教学,制作教学幻灯片演示,检查学生的操作能力,建立表格的试验三、教学基本内容1.表结构的建立和数据类型的定义,数据长度的定义,结构的修改2.数据的录入方法,数据的浏览3.数据的修改、删除和插入操作(手工方式)4.数据的复制5.指针的基本概念,指针定位函数,指针的移动四、备注此部分的内容比较繁杂,比较多,而且现在数据库技术中,这样的手工操作方式越来越少,所以,在讲授的时候,尽量对重点和难点内容做阐述就可以了,不需要面面俱到,有些知识可以让学生自行学习第四讲自由表的高级操作一、教学重点和难点本次教学的主要难点和重点是:怎么样建立索引,建立索引的意义,多表操作的一般方法,多表数据的临时关系,这部分的知识学习理解困难,在讲解的时候,尽量通俗点,注重实例的演示,让学生体会操作的结果二、教学手段和方法多媒体教室教学,制作教学幻灯片演示三、教学基本内容1.排序和索引的建立已经引用2.简单的查找技术3.多表的打开和引用、关联4.简单的统计命令四、备注一定要让学生理解两个东西:第一,索引建立的目的,第二,为什么要建立数据库表之间的关联第五讲数据库的基本操作一、教学重点和难点本课程重点是:数据库的建立以及它们的作用(一个容器而已);数据库表和自由表的区别;数据库中表的永久关系,参照完整性。
VF第5讲
Visual FoxPro程序设计基础
VFP编程步骤 编程步骤
Visual FoxPro可视化编程的一般步骤为: (1) 建立应用程序的用户界面,主要是建立表单,并 在表单上安排应用程序所需的各种对象(由控件创建)。 (2) 设置各对象(表单及控件)的属性。 (3) 编写方法及事件过程代码。 也可以边建立对象,边设置属性、编写方法及事件过 程代码。
Visual FoxPro程序设计基础
第五讲 VFP面向对象程序设计基础 面向对象程序设计基础
对象、对象的属性、 对象、对象的属性、方法
1. 对象 从可视化编程的角度来看,对象是一个具有属性 (数据)和方法(行为方式)的实体。一个对象建立以 后,其操作就通过与该对象有关的属性、事件和方法来 描述。
Visual FoxPro程序设计基础
Visual FoxPro程序设计基础
(3) 表单的事件与方法 Visual FoxPro 6.0中最常用的表单事件如下。 Visual FoxPro 6.0中常用的表单事件 中常用的表单事件
事 件 Load事件 Activate事 件 Destroy 事 件 Unload 事 件 含 义 当表单被装入内存时发生 当表单被激活时发生 当表单被释放时发生 当表单被关闭时发生 说 明 事件被激发的顺序为Load、 Init、Activate
Visual FoxPro程序设计基础
(2) 表单的属性 VFP中表单的属性就是表单的结构特征。通过修改表 单的属性可以改变表单的内在或外在的特征。
Visual FoxPro 6.0中常用的表单属性
属性名 BackCol or BorderSt yle Caption Movable 用于确定表单的背景颜色 用于控制表单是否有边框:系统(可调)、单线、双线 表单的标题 用于控制表单是否可移动 作 用
VisualFoxPro程序设计教程课件面向对象的程序设计
使用基类的两种方法:
•用基类生成对象;
•用基类派生出其他新类,已有的类称为父类,由 父类派生出的新类称为子类。子类继承了父类的全 部属性和方法,也可以为新类添加新的属性和方法
8.2 Visual FoxPro 中的基类
基类分为容器类和控件类 ,相应的对象分 为容器对象和控件对象。
容器对象可以包含其它控件或容器,被称为其 所包含的对象的父对象。
齐方式。取0(默认值),左对齐;取1,右对齐;取2, 居中对齐。 4.BackStyle属性:设置标签控件背景是否透明。取1 (默认值),不透明;取0,透明。
8.5.2命令按钮控件和命令按钮组控件 1.命令按钮 (CommandButton) 操作代码通常放置在命令按钮的Click事件中。 • Caption属性:按钮标题 • Enabled属性:逻辑型,默认值为.T.,即对象是 有效的,能响应外部事件,否则不能响应外部事 件。
<对象引用>.<对象属性名> =值
8.5.1 标签控件 (Lable) 显示不可编辑文本的控件,常用于提示或说明。 常用属性: 1.Caption属性:字符型,指定控件的标题文本,即
在标签控件上显示的文本。 2.Name属性:字符型,指定对象的名字,所有对象
都具有Name属性,用于在代码中引用对象。 3.Alignment属性:指定标题文本在控件中显示的对
件、页框控件等。可以单独为容器中包含的某个控件设 置属性、方法,选定容器内控件的方法: ⑴从对象下拉列表框中选择控件对象名称; ⑵从容器的快捷菜单中选择“编辑”命令,使容器进 入编辑状态,然后单击容器中的某个控件对其进行选定。 可以使用命令组生成器来设置命令按钮组常用属性。
常用属性:
ButtonCount属性:命令按钮组中命令按钮的个数,
vfp第7章 面向对象程序设计
2.编程调用对象方法程序 调用格式:格式:对象名.方法程 序名[(参数1[,参数2[,……]])] (1)Cls方法 格式:OBJECT.Cls 功能:清除表单上的图形或文本。 (2)Print方法 格式:OBJECT.Print[(cText)] 功能:在表单上打印字符串。 例7.3在表单上显示九九乘法表,单 击表单则清除该乘法表。(作业)
本讲内容
第7章 面向对象程序设计
7.1 面向对象程序设计基本概念
面向对象程序设计不同于传统的面向过程程序设计,不再是单纯地从代码的 第一行编到最后一行,而是考虑如何创建对象,利用对象来简化程序设计。 1.对象:构成应用程序的任何可操作的实体,如表、窗口、对话框等。 VFP中,常用的对象共有21个,分为控件类与容器类两种。 (1)控件:是表单(FORM,即窗口样式,用于提供操作界面)上显示数据和执 行操作的基本对象,例如:命令按钮、文本框、标签等。 (2)容器:是可以容纳其他对象的对象。例如:选项按钮组、命令按钮组等。 2.属性 对象的属性用来表示对象的特征、状态。如命令按钮有位置、大小等 3.方法 对象的方法是对象内定的通用过程,能使对象执行一个操作。如:调用表单 的Release方法能将表单从内存释放。可理解为内部函数。 4.事件 事件是指对象能识别并能响应的一些预先定义好的动作,可由用户或系统触 发。如:单击鼠标等。 5.事件驱动的工作方式 某事件一旦被触发,系统就去执行该事件对应的过程代码,当然事件过程 的代码需要用户事先编写好;过程执行完毕,则系统又处于等待状态。
对象组合框 选项卡 属性设置框
属性列表框
属性说明信息
属性窗口的组成
6.事件代码的编写(本例代码见P174) 编写事件代码先要打开代码编辑窗口,打开某对象代码编辑窗 口的方法有很多种,具体如下: 方法1:双击该对象。 方法2:选定该对象的快捷菜单的“代码”命令。 方法3:选定“显示”菜单的“代码”命令。 代码编辑窗口中包含两个组合框和一个窗口。 例题事件代码编写:Command1的Click事件代码编写如下: IF RECNO()>1 SKIP -1 THISFORM.REFRESH ELSE MESSAGEBOX("本条记录是首记录!") ENDIF
vfp程序设计 第10讲 —面向对象基础
标签的常用属性
标签控件的Caption属性表示标签的文字内容。 赋值语句格式: Label1.Caption=“欢迎光临” Label的AutoSize属性(True/False) – False:Label大小不变,太长文本被截断 – True:Label调整大小,以适应文本; 回车键的ASCII码为13,Caption属性中用Chr(13) 表示回车键,文本强制换行。
初识几个对象的事件
表单中所有控件的Init事件将在表单的Init事 件之前执行,所以在表单显示以前,就可以在 表单的Init事件代码中处理表单上的任意一个 控件。 鼠标单击表单时,触发Form1_Click事件 鼠标单击命令按钮时,触发Command1_Click事 件 –单击“结束”按钮(Command1),程序结束 运行 thisform.Release 表单的几个事件执行顺序
事件
概念:是对象可以识别和响应的行为与操作,用户可 以编写相应的代码对此进行响应。 在Visual FoxPro中,事件集不能象方法集那样,可以 无限扩展,事件集是相对固定的,用户不能再创建新 的事件。 在对象层次中,事件的处理遵循独立性原则,即每个 对象识别并处理属于自己的事件。 例如:Click、GotFocus、Init、InteractivChange、 KeyPress、Timer等 VFP事件顺序(P218表5.4)
面向对象程序设计基础(一) 面向对象程序设计基础(
3.3 可视化界面和事件过程设计 5.1 显示信息 5.2 允许特定操作
主要内容
面向对象程序设计概述 VFP中的对象与类 VFP中对象的属性、方法和事件 初识部分控件
面向对象程序设计
Visual FoxPro不但支持传统的面向过程的程序 设计,而且也提供了面向对象的可视化程序设计 的功能。 面向过程的程序设计采取结构化的程序设计方法, 是以算法为中心。 面向对象的程序设计方法是把对象作为由数据及 可以施加在这些数据上的操作所构成的统一体。
VFP第6章面向对象的程序设计
03
Visual FoxPro中的事件 驱动编程
事件驱动编程的概念
事件驱动编程是一种编程范式,它通 过事件来触发程序的执行。在事件驱 动的程序中,事件是由用户操作或其 他系统事件触发的,例如点击按钮、 键盘输入等。
在事件驱动的程序中,程序的状态由 事件和事件处理程序来管理。当某个 事件发生时,相应的事件处理程序会 被调用,以响应该事件。
什么是对象
对象是面向对象程序设计的基本单元,代表了现实世界中的 事物或概念。
对象由属性和方法组成,属性描述对象的状态,方法定义对 象的行为。
对象的属性、方法和事件
属性
描述对象特性的数据元素,如颜色、大小等。
方法
定义在对象上的操作,用于实现特定的功能 或行为。
事件
由用户或系统触发,导致对象状态改变或执 行特定操作。
根据项目需求选择合适的数据访问方式,如直接访问数据 库、使用ORM框架等。
01
数据流控制
设计合适的数据流控制结构,如顺序、 循环、条件等,实现数据的处理和流转。
02
03
数据验证
对输入数据进行验证,确保数据的合 法性和准确性。
THANKS FOR WATCHING
感谢您的观看
为控件编写事件处理程序,以响应用户的操 作或系统事件。
调用方法
通过调用控件的方法来执行特定的操作,如 显示或隐藏控件。
05
面向对象程序设计在 Visual FoxPro中的应用
数据库应用程序的设计
数据库模型选择
根据项目需求选择合适的数据库模型,如关系 型、层次型或网络型。
数据结构设计
定义数据库中的表、字段、主键、外键等,以 及表之间的关系。
事件处理程序
Visual FoxPro 9.0程序设计基础 第6章 Visual FoxPro面向对象程序设计方法
2016/1/15
第六章
VFP面向对象程序设计方法
主讲:
南京信息工程大学计算机与软件学院 刘生
7
6.1.2 类与对象(1)
对象(Object)
– 对象是系统中用来描述客观事物的一个实体,是构成
2016/1/15
第六章
VFP面向对象程序设计方法
主讲:
南京信息工程大学计算机与软件学院 刘生
13
6.2 VFP系统的基类(1)
容器类(Container Class)(表6-4)
– 是可以包容其他类的基类。将容器类的对象加入表单后,无论在
设计时还是在运行时,均可以将该容器类的对象作为一个整体来 处理,也可以对其包容的对象分别进行处理。
6.3.2 设置对象属性
通过对对象属性的设置,可以定义对象的特征或某一方面的行 为。
对象的大多数属性值既可以在设计阶段设置,也可以在运行阶 段进行设置,但也有一些属性是不能被设置的,即是只读的 (斜体)。 在采用可视化的方法进行对象设计时,可以在“属性”窗口中 对对象的属性进行设置;在程序代码中,可以使用如下的语法 对对象的属性进行设置: 引用对象.属性=值 可以利用WITH…ENDWITH语句简化对同一对象的多个属性值 的设置。
还需注意的是,当连续发生一系列事件时,若起 始事件与某个对象相关联,那么整个事件队列可 以都属于该对象,这取决于起始事件。
2016/1/15
第六章
VFP面向对象程序设计方法
主讲:
南京信息工程大学计算机与软件学院 刘生
23
6.4 VFP中的方法(1)
计算机VF 第九章 面向对象的程序设计
一、基本概念:对象、属性、事件、方法
1、对象(object):就由这些东西组成, 那么我们要编软件就应该掌握各种对象的使用方法。 面向对象的编程 2、属性(property):就是对象的性质,如长、宽、放的位置、 颜色、标题、字体大小等等。 属性的设置:有些只需用鼠标做适当的拖动即可,如长、 宽、放的位置等。(也可以在属性窗口中设置 ) 另一些则必须在属性窗口中进行设置,如字体、颜色、 标题等。 或编程方式设置属性值。
THISFORMSET 表示当前表单集。 THISFORM 表示当前表单。 THIS 表示当前对象。 (2)引用格式:引用关键字后跟一个点号,再写出被引 用对象或对象的属性、事件或方法。允许多级引用,但要 逐级引用,通常要求指明与该对象关联的所有上级对象。 BEL1.CAPTION=‘查询’ THIS.CAPTION (3)控件引用包含它的容器 格式:Control.Parent Control表示控件,Parent表示容器。 如:THIS.PARENT.TEXT1.VALUE=‘例子’
二、VFP中的类 1、基类:是VFP预先定义好的类。包括: 容器类:可以容纳别的对象。如表单。 控件类:不能容纳其他对象,而只能作为容 器类中的一员。如文本框。 2、子类:以某个类为起点创建的新类称为子 类,前者称为父类。 3、用户自定义类 4、类库:扩展名为.VCX。
三、对象的操作 1、对象引用规则 (1)通常用以下引用关键字开头:
2、编程方式设置属性值 (1)属性值设置 格式:对象名.属性=要设置的属性值 如:THISFORM.TEXT1.VALUE=‘姓名’ BEL1.CAPTION=‘你好!’ BEL1.VISIBLE=.T. (2)颜色设置 RGB(nRedValue,nGreenValue,nBlueValue) 参数分别表示颜色中含有红、绿、蓝的成分。 范围都为0—255。 如: BEL1.FORCOLOR=RGB(255,0,0)
VisualFoxpro面向对象程序设计实用教程培训课件
03
VFP常用控件
文本框控件
总结词
用于输入和显示文本的控件
详细描述
文本框控件是Visual FoxPro中常用的输入控件,用户可以在其中输入文本或显示文本。文本框控件可以设置属 性来控制文本的格式、对齐方式等。
命令按钮控件
总结词
用于触发事件的按钮控件
详细描述
命令按钮控件用于在表单或对话框中添加可点击的按钮。当用户点击按钮时,可以触发 相应的事件,执行相应的操作。命令按钮控件可以设置属性来改变按钮的外观和行为。
面向对象编程具有抽象性、封装性、 继承性和多态性等基本特征,这些特 征使得代码更加模块化、可重用性和 可维护性。
VFP中的类和对象
01
在VFP中,类是对象的模板,它定义了对象的属性和 方法。
02
对象是类的实例,每个对象都有其自己的属性和方 法,这些属性和方法在类中定义。
03
通过创建类的实例,可以创建具有相同属性和方法 的多个对象。
继承和多态
继承是面向对象编程中的 一个重要概念,它允许一 个类继承另一个类的属性 和方法。
多态是指一个接口可以有 多种实现方式,或者一个 对象可以表现出多种形态。
ABCD
在VFP中,子类可以继承 父类的属性和方法,同时 也可以添加自己的属性和 方法。
在VFP中,多态可以通过 重写父类的方法或使用接 口来实现,使得程序更加 灵活和可扩展。
添加事件处理程序
可以使用VFP提供的属性窗口或代码编辑器来添加事件处理程序。在属性窗口中,选择要添加事件处理程序的对象, 然后在相应的事件下拉列表中选择要添加的事件。
删除事件处理程序
如果不再需要某个事件处理程序,可以使用VFP提供的属性窗口或代码编辑器来删除它。在属性窗口中, 选择要删除事件处理程序的对象,然后在相应的事件下拉列表中选择“无”即可删除该事件处理程序。
[vfp课件]第7章 面向对象程序设计
对象的概念
一个对象是一个现实或虚构的实体。 如:一辆汽车是一个对象。 它的特征有:车的型号、颜色等等。
1.对象的概念
对象(Object)是反映客观事物属性及行为特 征的描述。如:
VFP常见的对象类型共有21种,分为控件对象 和容器对象。
控件对象:表单上显示数据和执行操作的基本 对象。例如:命令按钮、文本框、标签等。 容器对象:可以容纳其他对象的对象。例如: 表单、选项按钮组、命令按钮组。
7.3.3带参事件编写
VFP的事件与方法程序一样,有的带参数, 有的不带参数。 如:mousedown事件、mouseover事件和 mouseup事件都有如下参数 Lparameters nButton,nshift,nxcoord,nycoord
7.3.4VFP的事件序列
1、事件序列 VFP是事件驱动的工作方式。 VFP的事件可以由用户动作、系统或用户 代码触发。 例 7.5 跟踪事件发生的先后次序(见 trace.log文件)
2、属性
属性:用来描述对象的特征、状态;
如:
“命令按钮” 对象
其属性有:按钮的大小 按钮上文字的大小 文字的颜色等。
3、方法
方法(Method)是用来表示对象的行为。它由对象 内定的通用过程来实现。只要正确地引用它就可以了。 如:“表单”对象
其中一个方法:release
使用方法:thisform.release就可以了。
事件序列
(1)表单的Load事件是最早被触发的事件。 因此我们常在该事件中定义全局变量及进行环 境设置。 (2)表单中所有控件的Init事件在表单的Init 事件之前执行。 (3)表单的Load,Unload及各对象的Init事件 在表单的一个运行周期仅被触发一次。 表单的LOAD表单中各对象的Init表单的 Init表单的Activate()
vfp7章面向对象程序设计
设计类
类的创建:
项目管理器→类卡 文件→新建→类 Create Class <类名>[Of<类库名>]
类属性的设置:
修改属性 添加新属性
类方法的定义:类设计器 通过编程定义类
创建对象
由类创建对象 CreateObject (<类名>)[,<参数表达式
>…]
创建一个对象,并返回对象的引用
面向对象程序设计概念
对象:任何实体
由数据(属性)和操作(方法)构成。
对象的特征:
属性:对象的物理性质及特征的描述 事件:预先定义,能被对象识别的动作
事件是固定的,不能建立新事件
方法:对象在事件触发时的行为和动作
属性、事件、方法
属性:描述对象的状态或行为特征 设置属性的方式:
“属性”窗口:无需编写任何代码 在程序代码中写入属性设置命令
用较稳定把不稳定包起来
演绎
动物
哺乳类
鸟类
食肉动物
鸵鸟
鸽子
虎
归纳
交通工具
汽车
飞机
轮船
在容器对象中添加对象: <容器对象>.AddObject (<控件对象
>,<类名>[,<参数>])
向容器对象中添加控件对象
对象的引用
对象引用:指向相应对象真实信息的指针 绝对引用: 通过提供对象的完整容器层次 来引用对象 相对引用: 从参照对象指向目标对象的地 址引用
This: 当前对象 ThisForm:当前表单 ThisFormSet:当前表单集 Parent:当前对象的父对象(直接容器对象)
对象的属性设置与方法
属性设置:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、类
类(Class)和对象关系密切,但并不相同。类 是对同一类对象的抽象,类包含了有关对象的 特征和行为信息,它是对象的蓝图和框架,而 类的实例就是一个对象。
例如:桥梁是一个抽象的概念,而东方红大桥、 涪江三桥、涪江二桥就是桥梁这个概念衍生而来的 具体实例。这里的桥梁就是类,而东方红大桥、涪 江三桥、涪江二桥就是具体对象。
第八章面向对象程序设计
.
学习目标: 1)了解面向对象程序设计的基本知识 2)理解VFP中的类、属性、事件与方法程序等 基本概念 3)熟悉对象的操作
.
8.1 面向对象程序设计基础知识
一、基本概念
1、对象
“对象”(Object)是面向对象程序设计方法 学 中最基本的概念。在应用领域中有意义的、与所要 解决问题有关系的任何事物都可以称作对象。它既 可以是具体的物质实体的抽象,也可以是人为的概 念。例如一名学生、一所学校、一个表单、一个按 钮等都可以作为一个对象.。
2、对象的属性、事件和方法
(1)属性
所谓属性(Property)就是对象表现出来的 特征、状态或行为,就像录音机有型号、尺寸、 颜色、出厂日期等特征一样。不同的对象可以拥 有各种相同或不同的属性,其中有些属性是只读 并且无法改变的,而有些则可以通过设定来改 变。这就好像录音机的出厂日期、型号等属性是 无法改变的,但操作面板上所显示的时间则可通 过设定来改变。
详细参考p181表格。
.
2、子类 以某个类(基类)为起点创建出的新类称为
子类,子类继承父类的全部特征。
3、用户自定义类 用户从基类派生出子类,并且根据实际情况对
其属性、方法等作了调整或增加或删除等操作。
4、类库 用来存储可视化方式设计的类,扩展名为.VCX。
.
二、属性、事件与方法程序
1、属性 VFP中,对象的属性可以通过属性窗口设置,
分别将label1、command1、command2的caption 属性设置为:“欢迎光临”、“显示英文”和“退 出”。
(5)编写事件代码。针对事件进行编程,从而实 现对用户鼠标事件的响应。
.
① Command1的Click事件。鼠标双击Command1,在 出现的代码窗口中,左上方“对象”框中应是 “Commmd1”,右上方“过程”框中应是“Click”, 表示现在编写命令按钮Command1的Click事件代码。 如 果不是,应使用鼠标左键进行选择。 在代码窗口中输入以下内容:
.
4、类的特性 (1)继承性。
子类具有父类的基本特性,并且可以在父 类基础上派生出更多的特性。 (2)封装性
将不必要的代码全部封装
(3)多态性
多态指由继承而产生的相关的不同的类,其对 象对同一消息做出不同的.响应
二、基本方法
面向对象编程模型
对象
数据与 代码
属性 事件 方法
读取/设置
响应 调用
应用程 序
也可以通过代码在程序运行时设置。常用属性 见p182
2、事件 VFP中,可以在事件代码窗口中编写代码程序。
.
(3)方法
方法(Method)是用来处理或操纵对象的途 径。对象通常会提供一些方法,以便应用程序可 以使用对象所提供的服务。
例如,录音机提供了“播放”、“停止”、 “暂 停”、“快进”、“快退”等操作按钮,而这些 按钮其 实就相当于录音机提供的方法。用户只要按下这 些按钮,就可以得到录音机所提供的播放、停止 播放、快进、快退等服务。
.
(2) 事件与事件响应
事件(Event)就是对象所碰到的情况,即由 系统预先定义的由用户或系统触发的动作。例 如,有录音带被放进录音机,或者是录音带播完, 这样的情况就是一个“事件”。当一个事件发生 后,就需要对该事件进行响应。也就说,可以事 先指定当事件发生时,对象要做出什么样的反应。
例如,当“录音带放进录音机”的事件发生时, 可以指定是直接“播放”,还是先“快进”一小 段后再开始“播放”。 .
运行时界面
点击显示英文后的界面
.
8.2 类、属性、事件与方法程序
一、类的概念 1、基类
基类是VFP预先定义好的类。基类又分为控 件பைடு நூலகம்和容器类,由此创建出的具体对象又称为 控件类对象和容器类对象。
.
(1)容器类:容纳别的对象,并允许访问所包 含的对象。容器类包括表单、命令组按钮、页 框等。
(2)控件类:不能容纳其他对象的基类。控件 类包括标签、文本框、复选框、组合框、定时 器等。
事件可以由一个用户动作产生,如单击鼠标 或按键,也可以由程序代码或者系统产生,如计 时器每隔一段时间产生的到时事件就是由系统产 生。大多数情况下,事件是通过用户的交互操作 产生的。
在Visual FoxPro中,可以激发事件的用户 动作包括:单击鼠标(Click)、双击鼠标 (DblClick)、按键(keyPress)、移动鼠标 (MouseMove)等。
(2)定义数据环境------本例没有涉及数据库与表 操作。
(3)摆放控件对象。
.
Lable1控件
Command1控件
Co. mmand2控件
(4)设置对象属性。如果没有出现“属性”窗口, 可以从“显示”菜单中点选“属性”,或者鼠标左 键单击系统工具栏上的“属性窗口”按钮,使“属 性”窗口出现在屏幕上。
.
三、面向对象编程实例
例1、一个简单表单程序的编写示例。 表单上有两个按钮,一个按钮是“显示英文”,
另一个按钮是“退出”。运行时,首先显示一行文 字:“欢迎光临!”。当单击“显示英文”按钮时, 文 字变成英文的“He11o,World!”;当单击“退出” 按钮 时,关闭表单,程序结束。
.
步骤:
(1)创建容器对象------表单。操作步骤:“文件” 菜单中的“新建”,弹出“新建”对话框,选取 “表单”,单击右上方的“新建文件”按钮,进 入表单设计器。新表单具有默认名称Form1,默 认标题Fom1。
bel1.Caption="Hello,World !"
② Command2的Click事件代码。用鼠标单击代码窗 口左上方“对象”框右边的向下箭头,在弹出的列 表中选择“Command2”,或者在表单上直接用鼠标 双击Command2,在Click事件代码窗口中输入:
Thisform.Release .