- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
新编Visual FoxPro教程
第6章 对象模型与事件模型 结构化程序设计 本质:功能设计 方法:自顶向下、功能分解,从外部功能上模拟客观世界 开发过程:从“做什么”到“如何做” 例:演示! 求1~100之和。( “做什么”) S=0 for I=1 to 100 s=s+I next I ?s(“如何做”) 优点:系统结构性强、便于设计和理解 缺点:维护困难 6.1.1 面向对象的程序设计方法 方法:基于问题对象的自底向上的功能综合,从内部结构上模拟客观世界 开发过程:从“用什么做”到“要做什么” 例:演示表单“介绍OOP”求1~100之和 表单、对象(“用什么做”) 事件过程( “要做什么”) 优点 以对象为中心的问题求解方法简化程序设计,更接近现实世界,可降低开发和维护的费用 提高程序代码的可重用性 可以和各种模型自然的融合 6.1.2 类和对象 类:定义了对象特征以及对象外观和行为的模板,它刻划了一组具有共同特性的对象 对象:是类的一个实例(数据,过程) OOP中,程序由一个或多个类组成,在程序运行时视需要创建该类的各个对象(实例) 类是静态概念,对象是动态概念 对象是基于某种类所创建的实例,包括了数据和过程 控件与对象 一个运行表单上的控件就是一个对象 应用程序对象 表单( Form )、表单集( FormSet )、控件( Control ) 1. 类 基类:VFP系统提供的内部定义的类,可用于自定义类的基础(表单、控件(就是VFP3.0的控制)) 子类:是以其它类定义为起点,为某一种对象所建立的新类。子类将继承任何对父类所做的修改 用户自定义类:与基类相似,由用户定义,可用于派生子类,但无可视化表示形式 类的特点(通过类可以简化应用程序设计) 继承性(inheritance) 子类沿用父类特征的能力(黄种人与白种人) 如果父类特征发生改变,则子类将继承这些新特征 多态性(polymorphism) 一些关联的类包含同名的方法程序,方法程序的内容可以不同 相同的操作作用于多种类型的对象上获得不同的结果,增强系统的灵活性、维护性和扩充性 封装性 (encapsulation) 说明了包含和隐藏对象信息的能力 高内聚,低耦合 抽象性(abstraction) 提取一个类或对象与众不同的特征,而不对该类或对象的所有信息进行处理 对象(Object) 每个对象都具有属性及与之相关的事件和方法 属性(Property) 定义对象的特征或某一方面的行为 对象的有些属性值可修改 设计阶段 运行阶段(Show) 对象的有些属性值不可修改 例:Value 分类 只读(不可以修改:Baseclass) 单值(直接输入:caption) 二值(下拉列表中选择,也可以双击,True,False:Minbutton) 多个值(下拉列表中选择:Borderstyle) 事件(Event) 是由对象识别的一个动作 可编写相应的代码,对动作进行响应 事件可由用户的动作、程序代码或系统产生 对象的事件集合是固定的,用户不能创建新的事件 例:Click,Keypress(抽奖) 方法(Method) 是对象能够执行的一个操作 方法是与对象相关联的过程,也称方法程序 方法可由用户自己创建 例:Release 6.2 基 类 基类:VFP系统提供的内部定义的类 子类:引用VFP基类或其他子类建立的新类 用户自定义类:与基类相似,由用户自定义,但无可视的表示形式 类库(.vcx, .vct):用于存放子类的库文件 6.2.1 VFP的基类 基类的最小事件集 基类的最小属性集 容器类(Container classes)是包容其他类的基类 容器可以包含其它对象 容器可以作为所包含的对象的父对象 允许访问包含的对象 控件类(Control classes)是可以包含在容器类中的基类 控件对象可以包含在容器中 不能作为其它对象的父对象 基于类的不同类型,VFP的对象可分为容器对象和控件对象 容器类 6.3.1 引用对象 分类 绝对引用 相对引用 何时要引用对象 当要设置或取得对象的某个属性的值时(show) 当要执行对象的某个方法事件时(show) 容器层次体系 容器与容器中的控件是上下层次的关系 一个应用程序的最高层次是 _screen或_VFP,最低层次是一个非容器类控件或是一个不包含任何控件的容器类控件 层次体系示意图 绝对引用 从容器的最高层次引用对象,给出对象的绝对地址 例:表单Form1对象:FormSet1.Form1 表格的第一列中的文本框Text1对象: FormSet1.Form1.Pageframe1.page1.column1.Text1 相对引用 在容器层次中相对于某个容器层次的
原创力文档


文档评论(0)