第5章VFP语言基础-面向对象程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
基类的最小属性集
属性 Class Baseclass Classlibrary parentclass
说明
该类属于何种类型
该类由何种基类派生而来 (Form,commandbutton或custom 等)
该类从属于何种类库
对象所基于的类。若该类直接由VFP基 类派生而来,则Parentclass属性值与 baseclass属性值相同
提高程序代码的可重用性 可以和各种模型自然的融合
4
一、类和对象概述1
类: 所谓类(Class),就是一组具有相同结 构、性质、共同操作特点及遵守相同规则的 对象的集合。
它是对某种具有共同属性及其行为特征的对象 群体的抽象描述。
对象:是类的一个实例(包含具体数据、 过程定义)。
5
一、类和对象概述2
1-20为标准类(控件)(控件箱中带)
兰色字:容器类,其余为非容器类(控件类)
16
容器类
容器类 容器 工具栏 表单集 表单 表格 表格列
页框 页面 命令按钮组 选项按钮组
能包含的对象
任意控件类 任意控件类、页框、容器 表单、工具栏 页框、任意控件类、容器、自定义对象 表格列 标头以及除表单、表单集、工具栏、计时器和其它 列以外的任意对象 页面 任意控件类、容器和自定义对象 命令按钮 选项按钮
第五章 程序设计基础
5 .1 程序设计概述 5 .2 结构化程序设计 5 .3 面向对象的程序设计基础
本章重点
结构化程序设计 顺序、选择、循环 过程和函数
面向对象的程序设计 类和对象 属性、方法、事件
2
两种程序设计方法
1本Байду номын сангаас:功能设计
结构化程序设计2方法:自顶向下、功能分解, 从外部功能上模拟客观世界
抽象性(abstraction)
提取一个类或对象与众不同的特征,而 不对该类或对象的所有信息进行处理
9
对象(Object)
对象(Object)是类的实例。
每个对象都具有描述它特征的属性,以及附属于它 的行为。对象把事物的属性和行为封装在一起,是 一个动态的概念。对象是面向对象编程的基本元素, 是“类”的具体实例。 每个对象都具有属性及与之相关的事件和方法
类是静态概念,对象是动态概念
“类”定义了某类对象特征以及对象外观和行
为的模板,它刻划了一组具有共同特性的对象群
体
“对象”则是基于某种类所创建的一个实 例
在OOP中,类就像是一个模板,对象都是基于这个模板生
成的:类定义了对象所具有的属性、事件和方法,从而决
定了该类对象的属性和它的行为。Visual FoxPro系统为
13
容器类与控件类
容器类(Container classes)是能够包容其
它类的基类
容器类对象可以包含其它对象 容器类对象可以作为所包含的对象的父对象
控件类(Control classes)不能够包容其它
类,但可以放在容器类中的基类
控件类对象可以包含在容器中 不能作为其它对象的父对象
15
VFP的29个基类
12
方法(Method)
是对象能够执行的一个操作流程 方法是与对象相关联的过程,也称方法程序 方法程序有系统提供的,也可由用户根据需要自己创
建 VFP方法也均有名称标识,通过名称使用
例:release
方法程序也往往与对象事件相关联 方法实际上就是对象的内部过程(函数),每个类型
的对象都有它自己的方法集。例如在命令按钮对象中, 调用Move方法可以移动按钮的位置。与事件不同的是, 方法可以由用户进行扩展。
在VFP中,包含在应用程序中的表单及各种控件 都是对象。对象是包含数据和代码的实体。在程序 设计中,用属性、事件和方法来说明对象,属性就 是对象的数据内容,事件和方法则是对象中包含的 代码。
10
属性(Property)
用于定义对象的特征或某一方面的行为。 每个对象都具有属性,属性表明了对象的一些基本特
到
3开发过程:从“做什么”到 “如何做”
4优点:系统结构性强、便 于设计和理解 5缺点:维护困难
面向对象程序设计
OOP
3
5.3 面向对象的程序设计基础
面向对象的程序设计方法
方法:基于问题对象的自底向上的功能综合,从 内部结构上模拟客观世界
开发过程:从“用什么做”到“要做什么” 优点
以对象为中心的问题求解方法简化程序设计, 更接近现实世界,可降低开发和维护的费用
子类沿用父类特征的能力 如果父类特征发生改变,则子类将继承这些新特征
多态性(polymorphism)
一些关联的类包含同名的方法程序,但方法程序的 内容可以不同 相同的操作作用于多种类型的对象上获得不同的结 果,增强系统的灵活性、维护性和扩充性
8
特性
封装性 (encapsulation)
说明了包含和隐藏对象信息的能力 高内聚,低耦合
征,如大小、颜色、所处的位置等 属性构成: 一方面由对象所基于的类决定;另一方面也
可为其定义新的属性 对象的每一种属性,都是与其它对象加以区别的特性,
都具有一定的含义,并可赋予一定的值。
属性值:对象各属性的具体内容指定 可设置内容:由用户(设计者)设置 不可设置内容:只读
11
事件(Event)
1标签
9列表框
17线条
25自定义
2文本框
10微调框
18形状
26控件
3编辑框
11表格
19容器
27工具栏
4命令按钮
12图像
20分隔符*
28表单
5命令按钮组 13计时器
21选项按钮*
29表单集
6选项按钮组 14页框
22标头*
7复选框
15 OLE容器控件 23表格列*
8组合框
16 OLE绑定型控件 24页面*
事件(Event) 是每个对象可用以识别和响应的某 些行为和动作。可编写相应的程序代码对事件 动作进行响应。
事件是一种预先定义好的特定动作,被用户行 为或系统事件激活,每个对象都可以对相关事 件的动作进行识别和响应。在多数情况下,事 件是由用户的交互行为产生的。
不同对象能够识别的事件内容是不一致的,在 VFP中,事件集合是固定的(由系统指定), 用户不能进行扩充。(即用户不能自己创建新 事件)
用户提供29个基类
6
类
基类:VFP系统提供的内部定义的类,可用于用 户定义子类的基础 子类:是以其它类(已有的)定义为起点,为某 一种对象所建立的新类。子类将继承任何对父 类所做的修改 用户自定义类:与基类相似,由用户自己定义,
也可用于派生子类,但无可视化表示形式
7
特性
继承性(inheritance)