




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第九章面向对象程序设计及表单设计目录例:设计一个窗口,如下图所示.窗口中包含两个文本框,用于输入数据,还有一个命令按纽,单击它可以将两个文本框中的数相加,并在等号右边显示结果.CLICK事件代码:9.1.1事件驱动9.1.2对象(object) 客观世界里的任何实体都可以被看作是对象。对象可以是具体的物,也可以指某些概念。 从编程的角度来看,对象是一种将数据和操作过程结合在一起的数据结构,或者是一种具有属性(数据)和方法(过程和函数)的集合体。事实上程序中的对象就是对客观世界中对象的一种抽象描述。一般对象具有如下属性:(3)事件过程(EventProcedure):即对象响应某个事件所执行的程序代码。程序代码是为处理特定的事件而编写的一段程序,也称为事件代码。 面向对象的程序设计的核心思路,就是为这些事件书写程序代码,在代码中改变对象的一些属性值,并让对象做出我们所期望的反应。 (4)方法(Method):又称方法程序,是描述对象行为的过程。即指对象所固有的完成某种任务的功能,是对象能够执行的一个操作。因此,“方法”类似于面向过程程序设计中的“过程”和“函数”。从面向对象的理论看,“方法”与“事件”本质上是相同的。“事件”可以看成系统预先定义的空“方法”,可以在事件中调用用户定义的方法,也可以在用户自定义方法中激活特定事件。但在VFP中,“方法”在很多情况下更基本,因为VFP预先定义了一些方法,可以在事件中调用它们,而它们一般不调用事件。 9.1.3类(class) 1.概念 类是对一类相似对象的性质描述,这些对象具有相同种类的属性以及方法。 为了便于开发系统,面向对象的开发工具一般都会提供很多预先定义好的类和对象,并为这些类和对象预先设置足够多的属性和事件,以及足够多的方法,供程序员自由调用。 2.子类与继承 在面向对象的方法里,继承就是一个类可以在另一个类的基础上建立,继承该类的所有属性和事件。被继承的类称为父类,继承父类建立的类称为子类。在子类中,不仅可以继承父类的所有特性,而且还可以增加自己的属性和方法程序。一个子类的成员一般包括: (1)从其父类继承的属性和方法; (2)由子类自己定义的属性和方法。类可以实现多层次的继承关系。 例如:类B继承了类A,类C又继承了类B。因此,类B既是类A的子类,也是类C的父类。 在一个层次结构中,如果有一个类,所有的其他的类都是由它直接或间接派生出来的,这个类就称为基类。2.类的特性9.2VisualFoxPro中的类类名 类的分类: 按照用类创建的对象是否可视来划分,VFP的类可分为:可视类和不可视类; 按照类中能否放置其他类的对象来划分,可以分为:容器类和控件类(非容器类)容器类:可以包含其他对象,并且允许访问这些对象。容器类所能包含的对象见P218表9-2; 控件类:可创建包含其他被保护对象的控件对象,是用以显示数据、执行操作或使表单更易阅读的一种图形对象。可以使用“表单设计器”的“表单控件”工具栏在表单上绘制控件。VFP中常用控件见P218表9-3。9.3.1创建对象 在程序设计中,可以使用CREATEOBJECT函数来直接生成基于某个类的对象。该函数的格式如下: CREATEOBJECT(<类名>[,<参数1>,<参数2>,……]) 函数基于指定的类生成一个对象,并返回对象的引用。Eg: formwelcome=createobject(“form”) formwelcome.show 或:formwelcome.visible=.t. 【例9-1】基于VisualFoxPro的FORM类生成一个对象,然后访问该对象的一些属性和方法。 Oform=CREATEOBJECT("Form")&生成一个空白表单 Oform.show &&显示表单 Oform.caption=”演示”&&修改表单的标题 ?”这是一个生成对象的演示程序”&&在表单上输出字符串 Oform.release9.3.3容器与控件 VisualFoxPro中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。 容器可以被认为是一种特殊的控件,它能包容其他的控件或容器。 控件是一个可以以图形化的方式显示出来,并能与用户进行交互的对象,控件类不能包含其它对象。VFP中的所有容器对象都有与它们相关联的记数属性和收集属性。收集属性是引用其每个被包含对象的数组,记数属性是指其包含的对象数的数值属性。 每个容器的收集和记数属性根据包含在容器中的对象类型来命名,表9-2列出了容器及其相应的收集和记数属性。容器对象作为父对象,可以包含子对象,子对象如果是容器对象,还可以包含下一级子对象,形成对象的层次关系,在VFP中,对象是通过容器的层次关系来引用的。引用分为绝对引用和相对引用。 (1)

王子****青蛙
实名认证
内容提供者


最近下载