VisualFoxpro中的面向对象概述_第1页
VisualFoxpro中的面向对象概述_第2页
VisualFoxpro中的面向对象概述_第3页
VisualFoxpro中的面向对象概述_第4页
VisualFoxpro中的面向对象概述_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

8.1面向对象程序设计简介面向过程程序设计的特点数据和代码分离,每开发系统都要重新编写代码,不能继承以前编写好的代码。以操作和过程为中心。例如:C语言就是面向过程的程序设计语言。第八章可视化表单设计面向对象程序设计的特点(OOP)它是当前程序设计的主流方向。试图模仿人们建立现实世界模型的设计方式。把对客观事物的表达(对象的属性结构)和对它的操作(对象的行为特性)结合为一个有机的整体。对象就是数据以及可以施加在这些数据上的可执行操作所构成的统一体。以对象和数据结构为程序设计的中心。以对象为基本单位。采用事件驱动的编程方式。对象的三要素:属性、方法、事件属性:每个对象都有自己各种各样不同的属性,即对象的各种特征数据。方法:对象的行为和动作。事件:对象能够识别和响应的动作被称为事件。类和对象对象:是一个具有各种属性(数据)和方法(程序代码)的实体。对象可以是客观世界存在的任何实体,可以是具体的事物,也可以是某个概念。类和对象标签命令按钮文本框表单类:类是一批相似对象的归纳和抽象,是对一批相似对象的共有属性和方法的描述。类和对象的关系:

(1)类和对象是抽象和具体的关系。

(2)类包含有关对象的特征和行为信息,是对象定义的模板。

(3)对象是类的具体化和实例化,所以对象又称为类的实例(Instance)。

(4)一个类可以实例化为多个对象,但每个对象都可以有自己的属性、事件。

(5)类是一个静态的概念,只有实例化的对象才是可运行的实体。

(6)类还可以派生出子类,子类继承父类的所有特征并可添加自己新的特征。类的划分

VFP提供了一系列的基本对象类,简称基类。可以运用基类创建对象,也可以运用基类派生出新类。基类分为两种:控件类和容器类。控件类:用于进行相关的控制,其对象作为一个整体来操作。容器类:其对象可包含其他控件类或容器类的对象,可单独对其包含的对象进行操作。控件类容器类类和对象的特性封装性一个对象就是某些数据(对象的属性)以及施加在这些数据上的操作代码的统一体。封装性是指将对象的特性(属性)和行为(方法)包装在一起。数据封装性实现了信息的隐蔽作用,它使我们通过类的方法来操作对象,而不必关心内部结构。类和对象的特性继承性类都可以从已有的类中派生出来,派生出的子类继承父类的全部属性和方法。这样可以使用户在需要相似的功能时避免重复写相同的代码,同时提供了特定的途径以灵活性地定制对象。由于继承性,在父类中所作的修改会自动反映到它所有的子类上,无须分别去一个个地更改子类。类和对象的特性多态性对象的多态性是指同类的对象可以有不同的表现形式。不仅可以有不同的属性,还可以指同类对象对于相同的触发事件可以有不同的反应动作,或对于相同功能具有不同的实现方式等。对象的引用格式

<对象引用>.<属性><对象引用>.<方法>引用的方式:绝对引用和相对引用(1)绝对引用

通过对象的完整容器层次引用对象。对象的引用是从最外层的容器对象开始直到该对象。

例:mand1.enabled=.f.(2)相对引用

使用特定的参照关键字快速指明所要处理的对象。对象的引用是从参照关键字开始直到该对象。例:mand1.enabled=.f.

相对引用的参照关键字包括:

parent:本对象的父对象

this:本对象

thisform:包含本对象的表单

thisformset:包含本对象的表单集对象的属性定义:对象所具有的特征属性的设置

1、直接在属性窗口设置

2、程序代码:

<对象引用>.<属性>=<属性值>例:thisform.width=480属性窗口:常用属性widthheightfontsizefontnamenamecaptionLeftTop

forecolorbackcolor事件事件是对象能够识别和响应的动作。事件是预先定义的特定功能,不能由用户创建!多数情况下,事件是通过用户的交互操作来完成的,例如单击或双击鼠标,移动鼠标指针等。常

件click

单击dbclick

双击load

载入表单unload

释放表单init

对象初始化activate

激活对象destroy

释放对象gotfocus

获得焦点keypress

按键盘interactivechange

交互事件error

对象产生错误事件:为了使对象在某一事件发生时都能做出需要的反应,必须针对这一事件编写相应的程序代码来完成目标。运行时,一旦事件发生,相应的程序段就会被运行。方法:定义:对象的行为或动作方法的调用格式:

<对象引用>.<方法>例:thisform.release常见方法:release:将对象从内存中释放refresh:刷新对象的信息show:显示表单hide:隐藏表单setfocus:使对象活得焦点,成为活动的对象方法与事件的比较:“方法”与“事件”有相似的地方,都是为了完成某个任务。

同一个事件可以完成不同的任务,取决于开发者所编的代码。方法是固定的,任何时候调用都是完成同一个任务,所以其中的代码不用开发者编写,只需在必要的时候调用即可。在vfp中实现面向对象程序开发,主要是完成三个工作:1.在指定窗口中定义要用的东西,我们将其称为对象;2.为这些对象设置属性;3.完成对这些对象的代码控制,以实现与其相应的事件的发生。这一点也是整个程序开发中最为重要的部分。8.2表单设计概述创建表单的方法:(1)使用表单向导(2)使用表单生成器(3)使用表单设计器(4)通过编写程序可以通过菜单或者命令的方式调用表单创建工具。(1)“文件”->“新建”->“表单”……(2)createform<表单文件名>表单的修改:(1)菜单:“文件”->“打开”->……(2)命令:modifyform<表单文件名>表单的运行:(1)表单已打开,直接点击工具栏的(2)表单已打开,菜单“表单”->“执行表单”(3)菜单“程序”->“运行”->……(4)命令:doform<表单文件名>表单的常用属性caption:指定表单的标题height:指定表单的高度width:指定表单的宽度autocenter:指定表单运行时在vfp窗口是否居中显示。backcolor:指定背景色。表单的常用事件init:通常用来完成一些关于表单的初始化工作。比如全局变量的定义,表单中各个控件的初始属性状态等。destory:释放表单时触发该事件,该事件代码通常用来进行文件关闭,释放内存变量等工作。click:单击表单时触发该事件。keypress:接收用户键盘操作行为,设置按下某个键时执行相应操作。表单的常用方法show和hide:show使表单可见,而hide则是隐藏表单。release:从内存中释放表单。注意release与

destory的区别,destory是事件,而

release是方法,release是destory的触发器。refresh:刷新表单数据。setfocus:使对象活得焦点,成为活动的对象表单的控件:标签控件作用:显示提示信息或说明文字。窗口中出现的所有说明性文字,都用标签控件来实现。使用方法:“表单控件”工具栏上的按钮,然后在表单适当位置上单击鼠标或拖动即可。设计“标签”控件表单

表单示意图:标签标签标签作用:用于单击或按下后完成某个特定的控制操作,如关闭一个表单,打开另一个表单,计算某一个结果。其操作代码通常是为其click事件编写的。使用方法:“表单控件”工具栏上的按钮,然后在表单适当位置上单击鼠标或拖动即可。命令按钮设计“命令按钮”控件表单表单示意图:命令按钮命令按钮命令按钮的常用属性caption:按钮上所显示的文字autosize:是否调整大小容纳文字forecolor:设置文字颜色visible:指定对象在运行时是可见还是隐藏fontsize,fontname……命令按钮的常用事件click:单击鼠标时触发的事件代码error:当某方法运行出错时,此事件发生。文本框控件作用:

(1)显示表中某个字段或字符型变量的内容

(2)接受某个字段的内容

(3)接受某个变量的值

(4)接受用户密码只能输入一行数据,数据类型可以是C、N、D、L。使用方法:“表单控件”工具栏上的按钮,然后在表单适当位置上单击鼠标或拖动即可。设计“文本框”控件表单

表单示意图:文本框文本框控件的常用属性alignment:文本框内容的对齐方式value:文本框显示内容controlsource:设置与数据表哪个字段绑定readonly:设置用户是否可以修改文本框的内容。passwordchar:指定文本框内显示用户输入的字符

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论