5.3 面向对象程序设计基础.ppt
文本预览下载声明
2003年10月 计算机科学与技术系 张艳 5.3 面向对象的程序设计基础 面向对象的程序设计(OOP)概述 类和对象概述 基类 处理对象 事件模型 面向对象的程序设计方法 面向对象的程序设计(OOP) 基本单位:类和对象 重要特性:封装性、继承性和多态性 开发方法:自底向上的功能综合 开发过程:从“用什么做”到“要做什么” 优点:系统化的程序设计方法 特点:采用以对象为中心的问题求解方法,程序设计通过面向对象来实现 类和对象 类 指的是具有相同结构、操作并遵守相同规则的一组对象,它刻画了对象的模板,它是一个具有相同行为的对象的抽象。 对象 是类的一个实例,包括了数据和过程。 程序由一个或多个类组成。 在程序运行时视需要创建该类的各个对象。 类是静态概念,对象是动态概念。 对 象 每个对象都具有属性以及与之相关的事件和方法,通过对象的属性、事件和方法来处理对象。 属性 定义对象的特征或某一方面的行为,如大小、颜色、所处的位置等。 事件 是由对象识别的一个动作,可以编写相应的代码,以对此动作进行响应。事件是一种预先定义好的特定动作,被用户或系统激活,每个对象都可以对事件的动作进行识别和响应。在多数情况下,事件是由用户的交互行为产生的 (用户不能创建新的事件) 方法 是对象能够执行的一个操作。方法实际上就是对象的内部函数,每个类型的对象都有它自己的方法集。例如在命令按钮对象中,调用Move方法可以移动按钮的位置。与事件不同的是,方法可以由用户进行扩展。 方 法 方法是对象能够执行的一个操作。在VFP中,系统提供了一些方法,其程序是一些默认过程。 1.AddItem方法是组合框或列表框中添加一个新数据项,并且可以指定数据项索引。 2.?AddObject方法是在运行时向容器对象中添加对象。 3. Clear方法是清除组合框或列表框中的内容。 4. Refresh方法是重画表单或控件,并刷新所有值。 5.Setall方法是为容器对象中的控件或某类控件指定属性设置。 6. SetFocus方法是为一个控件指定焦点 7.Show方法是显示一个表单,并且确定是模式表单还是无模式表单。 对象的特性 对象是面向对象式系统中运行时刻的基本成分,它是属性与行为(即数据与操作)以及与其他对象接口的封装体。 在VFP中,包含在应用程序中的表单及各种控件都是对象。对象是包含数据和代码的实体。在程序设计中,用属性、事件和方法来说明对象,属性就是对象的数据,事件和方法则是对象中包含的代码。 类的分类 基类(base class)——VFP系统提供的内部定义的类,可用做其他用户自定义类的基础。(如表单和所有控件) 子类(Subclass)——以其他类定义为起点,为某一种对象所建立的新类。子类将继承任何对父类(即子类所基于的类)所做的修改。 用户自定义类——与基类相似,但由用户定义,并且可用来派生子类。这种类没有可视化表示形式。 基类的分类 容器类和控件类(也称为非容器类)。 容器类是包含其他容器的基类。将容器类的对象加入表单后,无论在设计时,还是在运行时,均可将该容器类的对象作为一个整体进行操作,也可以对其包含的对象进行处理。例如,表单集(表单、工具栏),选项按纽组(选项按纽)。 控件类是可以包含在其他容器类中的基类。例如,命令按钮和文本框就属于控件类。 基类 容器、编辑框、列表框、标签、控件、文本框、组合框、图像、表单集、微调框、复选框、形状、表单、表格、选项按钮组、线条、工具栏、标头*、选项按钮*、分隔符*、自定义、列*、计时器、命令按钮组、页框、OLE绑定型控件、命令按钮、页面*、OLE容器控件 注:*表示该类是容器类的集成部分,在类设计器中不能基于他们创建子类 基类的最小属性集 Class 该类属于何种类型 BaseClass 该类由何种基类派生而来 ClassLibrary 该类属于哪种类库 ParentClass 对象所基于的类 基类的最小事件集 Init 当对象创建时激活 Destroy 当对象从内存中释放时激活 Error 当类中的事件或方法程序运行中发生错误时激活 处理对象 一、引用对象 二、设置对象属性 三、调用对象的方法程序 四、对事件的响应 引用对象 绝对引用 绝对引用是指从容器的最高层次引用对象,给出对象的 绝对地址 Formset1. Form1. Pageframe1. Page1. Grid1. Column1. Text1 相对引用 相对引用是指在容器层次中相对于某个容器层次的引用。 相对引用通常应用于某个对象的事件处理代码或方法程序代码中。 Form1层: Pageframe1. Page1. Grid1. Column1. Text1 Form1中Text2层:th
显示全部