预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共94页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第8章表单及面向对象的程序设计8-1面向对象的概念 8-2创建表单 8-3表单控件的使用 8-4修饰表单 8-5小结8-1面向对象的概念8-1-1基本概念设计方式:指对问题处理的程序设计方式。 (1)、过程性的设计思想中 •是针对问题采用顺序性的程序处理决问题。 •采用逻辑概念设计程序文件。 •在解决问题的过程中,常发生调用子过程程序文件。 (2)、面向对象程序设计方法,是采用“对象”为设计思想中心。 •不采用顺序性处理方式,对问题采用了对象本身的属性与方法来解决问题。 •在处理问题过程中,可以直接在对象中设计事件程序,直接触发问题。2.面向对象的程序设计的新特性 VFP6.0完全支持面向对象的设计方法,但同时又提供对面向过程的支持。从而为程序设计带来巨大的方便。可以使用户的程序具有以下的特点: l代码更为精练; l对象可以很容易地组装成为应用程序,而不必把太多的精力用于关心每一个对象的细节; l代码的维护和代码的复用更为方便,大型程序的构造更为简单。 它通过抽象思维的方式,把日常生活中常见的问题简化成人们易于理解的模型,然后再在这模型之间建立关系,从而最终形成一个完整的系统。3.基本术语 (1).对象(Object) 通常,对象是指各种大大小小的具体的客观事物。在程序设计中,对象是私有数据和对这些数据进行处理的操作(方法程序)相结合的程序单元(实体)。一个“表单”可以看作一个对象,“表单”中的一个“命令按钮”,一张图片也可以看作对象。 (2).属性(Property) 属性定义了对象所具有的数据,它是对象所有特征数据的集合。每个对象都具有“属性”。“属性”值可以在设计阶段设置,也可以在运行阶段更改,但有些“属性”是只读属性,不可改变。(3).方法程序(Method) “方法程序”是指对象为实现一定功能而编写的代码。 (4).事件(Event) 事件是用户或系统的动作所引发的事情,由用户或者系统的操作而激活。VFP中的事件通常包括键盘“事件”和鼠标“事件”,例如单击鼠标就发生了一个“Click”事件。为了响应事件,可以为事件加入相应的代码,也可以执行某个方法。(5).类(Class) 类是一组具有相同特性的对象的抽象定义。类是具有相同或相似特征的对象的抽象,对象是类的具体的实例。类可以具有子类(Subclass)。 子类可以继承父类所有的属性和方法,也可以根据需要加入新属性和方法。 (6).类与对象运算符 专门用于实现面向对象的程序设计。 “.”点运算符,确定对象与类的关系,以及属性、事件和方法与其对象的从属关系。 “::”作用域运算符,用于在子类中调用父类的方法。8-1-2VFP中的类(2).基类(baseclass) 基类是VFP预先定义的类,在“新建类”对话框的“派生于”下拉列表中,包含了全部基类,例如表单(Form)、表单集(FormSet)等。基类可作为用户定义类的基础。用户可从基类来创建新类,并增添自己需要的新功能。 (3).子类(subclass) 以某个类的定义为起点创建的新类称为子类,前者称为父类。例如从基类来创建新类时,基类是父类,新类是子类。 新类将继承父类的全部特征,包括对父类所做的任何修改。2.类的特征 类是模板,它规定了各类对象的属性、事件和方法程序。此外,类还具有类的封装性、继承性、多态性、抽象性四大特征。 这些特征有利于提高代码的可重用性和易维护性。 (1)封装特征 封装指包含并隐藏对象信息,如内部数据结构、对象的方法程序和属性代码。 封装隐藏了对象内部的细节,例如对一个命令按钮设置Caption属性时,不必了解标题字符串是如何存储的。隐藏对象信息的优点有: 有利于对复杂对象的管理。由于隐藏了对象内部细节,使用户能集中精力来使用对象的特性。 有利于程序的安全性。隐藏对象信息能防止代码不慎受到破坏。(2)继承性特征 继承性包括以下内容: l对象能自动继承创建它的类的功能。 l子类能自动继承父类的功能。 l对一个类的改动能自动反映到它的所有子类中。 继承性不只节省了用户的时间和精力,同时也减少了维护代码的难度。所以,继承性是合理地进行代码维护的重要措施。 (3)多态性 指一些关联的类包含同名的方法程序,但方法程序的内容可以不同,具体调用在运行时根据对象的类确定。(4)抽象性——指提取一个类或对象与众不同的特征,而不对该类的所有信息进行处理封装。 (5)子类特征 一个子类可以拥有其父类的全部功能,但也可以增加自己的属性和方法,使它具有与父类不同的特殊性。 如果创建一个合适的子类,并在多处创建它的实例,就能使代码得到重复使用,因此定义子类是减少代码的途径之一。3.VFP的基类 VFP中的基类又可以分为容器类和控件类。 (1)容器类 可以包含其他对象的类称为容器类。容器对象可作为父对象,其包含的对象称为子