第8章可视化表单
设计 本次主要内容:本次主要内容:一、面向对象编程的基本概念二、表单的创建、修改与运行表单的创建、三、表单设计器的使用重点:重点:面向对象编程的基本概念与表单设计器的使用
8.1
面向对象
程序设计简介
OOP(objectOOP(object-orientedprogramming)面向对象程序设计方式。面向对象程序设计方式。以对象和数据结构为程序设计的中心,而以对象和数据结构为程序设计的中心,不是操作和过程为中心。不是操作和过程为中心。着重于合理地创建类与对象、如何建立对着重于合理地创建类与对象、象之间的联系、象之间的联系、如何利用对象来简化程序的设计等。序的设计等。Vfp支持OOP并提供一系列可视化开发工具。Vfp支持OOP并提供一系列可视化开发工具。支持OOP并提供一系列可视化开发工具
8.1.2对象与类
1.Object是反映客观事物属性及行为特征的描述。行为特征的描述。每个对象都具有描述它的特征的属性,及附属于它的行为。及附属于它的行为。对象把事物的属性和行为封装在一起,是一个动态的概念。对象是面向对是一个动态的概念。象编程的基本元素,象编程的基本元素,是“类”的具体实例。
2.类2.类(class)类是对象的归纳和抽象,类是对一批相类是对象的归纳和抽象,似的对象的性质描述,似的对象的性质描述,这些对象具有相似的属性与方法。似的属性与方法。类是具有共同属性、类是具有共同属性、共同操作性质的对象的集合,具体来说,象的集合,具体来说,对象可进行分为类。
属性、属性、方法与事件
1.属性(properties)是用来描述对象特征1.属性(properties)是用来描述对象特征属性(properties)的参数。的参数。属性是属于某一个类的,属性是属于某一个类的,不能独立于类而存在。于类而存在。派生出的新类将继承基类和父类的全部属性。FoxPro系和父类的全部属性。在VisualFoxPro
系统中,各种对象拥有70多个属性。70多个属性统中,各种对象拥有70多个属性。对象的属性可以在设计对象时定义,的属性可以在设计对象时定义,也可以在对象运行时进行设置。在对象运行时进行设置。
2.方法2.方法(methods)方法(methods)方法程序是对象能够执行的一个操作,方法程序是对象能够执行的一个操作,是与对象紧密关联的一个程序过程。是与对象紧密关联的一个程序过程。例如:例如:获得焦点,然后刷新表单,并隐藏表单。获得焦点,然后刷新表单,并隐藏表单。
3.事件3.事件(Event)事件(Event)是每个对象可能用以识别和响应的某些行为和动作。应的某些行为和动作。多数情况下,多数情况下,事件是通过用户的操作行为引发的,当事件发生时,的操作行为引发的,当事件发生时,将执行包含在事件过程中的全部代码。将执行包含在事件过程中的全部代码。
常见的属性:常见的属性:
.窗口的标题及窗口的大小;窗口的标题及窗口的大小;.窗口的前景和背景颜色;窗口的前景和背景颜色;.窗口中所显示信息的内容及格式;窗口中所显示信息的内容及格式;.窗口中提供了哪些控件;窗口中提供了哪些控件;.窗口中每个控件在窗口的位置;窗口中每个控件在窗口的位置;.窗口中每个控件的大小;窗口中每个控件的大小;.窗口中的控件应如何操作。窗口中的控件应如何操作。
8.1.3对象与类的特性8.1.3对象与类的特性
封装性层次性继承性抽象性多态性
继承性(Inheritance)继承性(Inheritance)
指通过继承关系利用已有的类构造新类。任何一个基类都有它的属性。任何一个基类都有它的属性。即使用户没有定义,FoxPro系统也赋给户没有定义,VisualFoxPro系统也赋给基类相应的缺省值。基类相应的缺省值。在创造对象时,在创造对象时,可以利用基类派生出另一个新类。另一个新类。
通常把从已有的类派生出的新类称为子类,通常把从已有的类派生出的新类称为子类,已有的类称为父类。已有的类称为父类。子类不但具有父类的全部属性和方法,子类不但具有父类的全部属性和方法,而且还允许用户根据需要修改对已有的属性和方法进行修改或添加新的属性和方法。
封装性(Encapsulation)封装性(Encapsulation)
类的封装性是指类的内部信息对用户是隐蔽的。是隐蔽的。在类的引用过程中,在类的引用过程中,用户只能看到封装界面上的信息,对象的内部信息数据结构及操作范围、(数据结构及操作范围、对象间的相互作用等)则是隐蔽的,作用等)则是隐蔽的,只有程序开发者才了解类的内部信息。才了解类的内部信息。
由于类具有封装性,由于类具有封装性,因此不必被类的概念或类的抽象所困扰。在使用类时,或类的抽象所困扰。在使用类时,用户不需熟悉对象内部的复杂性,不需熟悉对象内部的复杂性,只需掌握类的使用方法。类的使用方法。正如你在使用照相机照相时,正如你在使用照相机照相时,无需了解照相机是怎样设计的和内部构造,相机是怎样设计的和内部构造,只要会使用即可。使用即可。类的封装性使应用程序的可用性大大提高了。用性大大提高了。