VFP语言基础-面向对象的程序设计.ppt
《VFP语言基础-面向对象的程序设计.ppt》由会员分享,可在线阅读,更多相关《VFP语言基础-面向对象的程序设计.ppt(44页珍藏版)》请在三一办公上搜索。
1、第五章 程序设计基础,5.1 程序设计概述5.2 结构化程序设计 5.3 面向对象的程序设计基础,2,本 章 重 点,结构化程序设计顺序、选择、循环过程和函数面向对象的程序设计类和对象属性、方法、事件,3,结构化程序设计,到,面向对象程序设计OOP,两种程序设计方法,1本质:功能设计 2方法:自顶向下、功能分解,从外部功能上模拟客观世界 3开发过程:从“做什么”到“如何做”4优点:系统结构性强、便于设计和理解 5缺点:维护困难,4,面向对象的程序设计方法方法:基于问题对象的自底向上的功能综合,从内部结构上模拟客观世界开发过程:从“用什么做”到“要做什么”优点以对象为中心的问题求解方法简化程序设
2、计,更接近现实世界,可降低开发和维护的费用提高程序代码的可重用性可以和各种模型自然的融合,5.3 面向对象的程序设计基础,5,一、类和对象概述1,类:所谓类(Class),就是一组具有相同结构、性质、共同操作特点及遵守相同规则的对象的集合。它是对某种具有共同属性及其行为特征的对象群体的抽象描述。对象:是类的一个实例(包含具体数据、过程定义)。,6,一、类和对象概述2,类是静态概念,对象是动态概念“类”定义了某类对象特征以及对象外观和行为的模板,它刻划了一组具有共同特性的对象群体“对象”则是基于某种类所创建的一个实例在OOP中,类就像是一个模板,对象都是基于这个模板生成的:类定义了对象所具有的属
3、性、事件和方法,从而决定了该类对象的属性和它的行为。Visual FoxPro系统为用户提供29个基类,7,基类:VFP系统提供的内部定义的类,可用于用户定义子类的基础子类:是以其它类(已有的)定义为起点,为某一种对象所建立的新类。子类将继承任何对父类所做的修改用户自定义类:与基类相似,由用户自己定义,也可用于派生子类,但无可视化表示形式,类,8,继承性(inheritance)子类沿用父类特征的能力如果父类特征发生改变,则子类将继承这些新特征多态性(polymorphism)一些关联的类包含同名的方法程序,但方法程序的内容可以不同相同的操作作用于多种类型的对象上获得不同的结果,增强系统的灵活
4、性、维护性和扩充性,特性,9,封装性(encapsulation)说明了包含和隐藏对象信息的能力高内聚,低耦合抽象性(abstraction)提取一个类或对象与众不同的特征,而不对该类或对象的所有信息进行处理,特性,10,对象(Object)是类的实例。每个对象都具有描述它特征的属性,以及附属于它的行为。对象把事物的属性和行为封装在一起,是一个动态的概念。对象是面向对象编程的基本元素,是“类”的具体实例。每个对象都具有属性及与之相关的事件和方法 在VFP中,包含在应用程序中的表单及各种控件都是对象。对象是包含数据和代码的实体。在程序设计中,用属性、事件和方法来说明对象,属性就是对象的数据内容,
5、事件和方法则是对象中包含的代码。,对象(Object),11,属性(Property),用于定义对象的特征或某一方面的行为。每个对象都具有属性,属性表明了对象的一些基本特征,如大小、颜色、所处的位置等 属性构成:一方面由对象所基于的类决定;另一方面也可为其定义新的属性对象的每一种属性,都是与其它对象加以区别的特性,都具有一定的含义,并可赋予一定的值。属性值:对象各属性的具体内容指定可设置内容:由用户(设计者)设置不可设置内容:只读,12,事件(Event),事件(Event)是每个对象可用以识别和响应的某些行为和动作。可编写相应的程序代码对事件动作进行响应。事件是一种预先定义好的特定动作,被用
6、户行为或系统事件激活,每个对象都可以对相关事件的动作进行识别和响应。在多数情况下,事件是由用户的交互行为产生的。不同对象能够识别的事件内容是不一致的,在VFP中,事件集合是固定的(由系统指定),用户不能进行扩充。(即用户不能自己创建新事件),13,方法(Method),是对象能够执行的一个操作流程方法是与对象相关联的过程,也称方法程序方法程序有系统提供的,也可由用户根据需要自己创建VFP方法也均有名称标识,通过名称使用例:release方法程序也往往与对象事件相关联方法实际上就是对象的内部过程(函数),每个类型的对象都有它自己的方法集。例如在命令按钮对象中,调用Move方法可以移动按钮的位置。
7、与事件不同的是,方法可以由用户进行扩展。,14,二、基类,基类:VFP系统提供的内部定义的类子类:引用VFP基类或其他子类建立的新类用户自定义类:与基类相似,由用户自定义,但无可视的表示形式,VFP基类,派生,子类,子类,子类,15,容器类(Container classes)是能够包容其它类的基类容器类对象可以包含其它对象容器类对象可以作为所包含的对象的父对象 控件类(Control classes)不能够包容其它类,但可以放在容器类中的基类控件类对象可以包含在容器中不能作为其它对象的父对象,容器类与控件类,16,VFP的29个基类,1-20为标准类(控件)(控件箱中带)兰色字:容器类,其余
8、为非容器类(控件类),17,容器类,18,基类的最小属性集,19,基类的最小事件集,20,三、处理对象,创建对象:基类 定义的子类 用户子定义类方式:编程 可视化开发工具设计,对象,21,容器类:包含了一个“容器”基类控件类:包含了一个“控件”基类 基于它们均可生成对象 VFP中主要以表单(或表单集)为最高容器层,其它基类对象可以在其中生成,成为被表单(或表单集)包容的对象;层层相生,层层包容,最终形成表单(或表单集)的对象群体。一个面向对象的程序就是由一组相关的对象群体以及它们的属性、事件、方法集合而成的整体。,22,层次体系示意图,表单集,表单,容器,控件,23,1.引用对象,分类绝对引用
9、和相对引用何时要引用对象当要设置或取得对象的某个属性的值时当要执行对象的某个方法事件时容器层次体系容器与容器中的控件是上下层次的关系一个应用程序的最高层次是各种活动表单或表单集,最低层次是一个非容器类控件对象或是一个不包含任何控件的容器类对象,24,表单集“表单集1”(该对象的Name属性为FormSet1)中包含2个表单“Form1”和“Form2”;表单“Form1”中包含2个文本框、1个选项按钮组、1个页框;页框中包含2个选项卡式页面Page1和Page2;页面“Page1”中包含1个表格“Grid1”;表格中包含2个列控件对象;列控件又包括标头和文本框控件。,25,绝对引用:从容器的最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 语言 基础 面向 对象 程序设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5576401.html