《第10章面向对象可视化编程基础.ppt》由会员分享,可在线阅读,更多相关《第10章面向对象可视化编程基础.ppt(18页珍藏版)》请在优知文库上搜索。
1、第10章 面向对象可视化编程基础 第第 10 10 章章 面向对象可视化编程基础面向对象可视化编程基础 面向对象程序设计的主要特点是其抽象方法接近于人的自然思维方式,很容易被应用人员所接受,它的最大优点是开发效率高、代码重用率高。第10章 面向对象可视化编程基础 10.1 面向对象程序设计的基本概念面向对象程序设计的基本概念 10.1.1 对象和类对象和类 10.1.2 继承、封装和多态继承、封装和多态 10.1.3 属性、事件和方法属性、事件和方法10.2 Visual FoxPro中类的操作中类的操作 10.2.1 Visual FoxPro的基类的基类 10.2.2 创建类创建类 10.
2、2.3 类的设置类的设置 10.2.4 类的修改类的修改10.3 Visual FoxPro中对象的操作中对象的操作 10.3.1 由类创建对象由类创建对象 10.3.2 创建对象的引用创建对象的引用 10.3.3 为对象设置属性为对象设置属性 10.3.4 调用方法程序调用方法程序 10.3.5 触发事件触发事件教学内容教学内容第10章 面向对象可视化编程基础 1 1对象对象(Object)对象是面向对象编程的基本元素。对象是反映客观事物属性及行为特征的描述。由于客观世界中的实体通常都既具有静态的属性,又具有动态的行为,所以在面向对象程序设计中的对象被定义为由属性和相关方法组成的包。属性用来
3、表示对象的状态,方法用来描述对象的行为。10.1 10.1 面向对象程序设计的基本概念面向对象程序设计的基本概念 10.1.1 10.1.1 对象和类对象和类 第10章 面向对象可视化编程基础 2 2类类 (Class)类是一组对象的属性和行为特征的抽象描述。在Visual FoxPro系统中,类就象是一个模板,对象都是由类生成的,类定义了对象所有的属性、事件和方法,从而决定了对象的属性和它的行为。类是静态概念,对象是动态概念。通常,我们把基于某个类生成的对象称为这个类的实例。Visual FoxPro中有以下三种类:基类、子类、基类、子类、用户自定义类用户自定义类第10章 面向对象可视化编程
4、基础 1 1继承性(继承性(InheritanceInheritance)类的继承性指通过继承关系利用已有的类构造新类。在创造对象时,可以利用父类派生出一个子类。子类不但具有父类的全部属性和方法,而且还允许用户根据需要修改对已有的属性和方法进行修改,或者添加新的属性和方法。10.1.2 10.1.2 继承、封装和多态继承、封装和多态 第10章 面向对象可视化编程基础 2 2封装性(封装性(Encapsulation)Encapsulation)类的封装性指类的内部信息对用户是隐蔽的。封装的目的是信息隐藏,把对象的内部代码隐藏起来。用户只需知道该对象具有什么功能以及如何使用该对象,而不必了解这些
5、功能是如何实现的。3 3多态性(多态性(PolymorphismPolymorphism)类的多态性指相同的语言结构可以代表不同的实体,或者是指对不同的实体进行操作。多态性使得高层的代码只写一次,而通过提供不同的底层服务来满足代码复用的要求。第10章 面向对象可视化编程基础 1 1属性属性 (PropertyProperty)属性用来表示对象的状态。对象的每一种属性,都是与其他对象加以区别的特性,都具有一定的含义,并赋予一定的值。对象的属性值既能在设计时刻也能在运行时刻进行设置。10.1.3 10.1.3 属性、事件和方法属性、事件和方法 第10章 面向对象可视化编程基础 2 2事件事件 (E
6、ventEvent)事件是一种预先定义好的特定动作。事件集合是固定的,用户不能创建新的事件。3 3方法(方法(MethodMethod)方法也称方法程序,是对象能够执行的操作,也即类中所定义的服务。方法集合可以由用户无限扩展。“方法方法”与与“事件事件”既有相似之处,既有相似之处,也有不同。也有不同。第10章 面向对象可视化编程基础 基类可以分成容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。1 1容器类容器类 从容器类派生的对象可以包容其他对象,并且允许访问这些对象。Visual FoxPro中的容器类:表单集、表单、表格、(表格)列、页框、页、命令按钮组、选项按钮组、工具栏、
7、容器、控件。2 2控件类控件类 从控件类派生的对象不能容纳其他对象,它没有容器类灵活。10.2 Visual FoxPro中类的操作中类的操作 10.2.1 Visual FoxPro10.2.1 Visual FoxPro的基类的基类 第10章 面向对象可视化编程基础 1用类设计器创建类用类设计器创建类 2用命令创建类用命令创建类 CREATE CLASS 新类名 OF 新类所在库名 AS 父类名 FROM 父类所在类库名 10.2.2 创建类创建类图10.2 “新建类”对话框第10章 面向对象可视化编程基础 1设置类对象的属性值设置类对象的属性值 2设计类对象的方法程序设计类对象的方法程序
8、 10.2.3 类的设置类的设置 10.2.4 类的修改类的修改 注意:对类的修改将影响所有的子类和基于这个类的所有对象。第10章 面向对象可视化编程基础 10.3 Visual FoxPro中对象的操作中对象的操作 10.3.1 由类创建对象由类创建对象 由类创建对象可使用函数:CreateObject(),其命令格式为:对象名=CreateObject(类名)第10章 面向对象可视化编程基础 对象的嵌套层次关系:如图10.6。如果要引用某个对象,需要指明对象在嵌套层次中的位置。表10.3 容器层次中的对象引用属性或关键字10.3.2 创建对象的引用创建对象的引用属性或关键字引 用Paren
9、t当前对象的直接容器对象This当前对象ThisForm当前对象所在的表单ThisFormSet当前对象所在的表单集第10章 面向对象可视化编程基础 对象的引用有两种方式:绝对引用和相对引用。1绝对引用绝对引用 从最高容器开始逐层向下直到某个对象为止的引用称为绝对引用。2相对引用相对引用 从正在为编写事件代码的对象出发,通过逐层向高一层或低一层直到另一对象的引用称为相对引用。第10章 面向对象可视化编程基础 10.3.3 10.3.3 为对象设置属性为对象设置属性 属性可以在设计时设置也可在运行时设置,但也有一些属性是只读的。在“属性”窗口中进行设置。使用命令设置对象属性:对象的父类名.当前对
10、象名.属性名=属性值设置对象的多个属性:WITH 路径 属性 ENDWITH第10章 面向对象可视化编程基础 调用方法程序的语法为:父类名.对象名.方法名(参数表)注意:在表达式中,有返回值的方法程序必须以圆括号结尾。传递给方法程序的参数必须放在方法程序名后面的圆括号中。10.3.4 10.3.4 调用方法程序调用方法程序 第10章 面向对象可视化编程基础 只有当事件发生时,对应的事件代码才被执行。由系统触发事件、由用户触发事件 触发事件的命令格式为:父类名.对象名.事件名(参数表)基类的事件集合是固定的,不能进行扩充。每个类都可识别固定的默认事件集合,它的最小事件集包括Init、Destroy和Error事件(show)。10.3.5 10.3.5 触发事件触发事件 第10章 面向对象可视化编程基础 在容器对象的嵌套层次中,事件的处理遵循独立性原则,即每个对象识别并处理属于自己的事件。例外:对于选项按钮组与命令按钮组来说,若组中个别按钮没有编写事件处理代码,则当事件发生时将执行组事件的处理代码。