- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
苏州大学信息技术学院计算机工程系 徐云龙 第5章 对象模型和事件模型 VFP支持两种开发模型:面向过程和面向对象 结构化程序设计(面向过程) 本质:功能设计(以功能为主进行设计) 方法:自顶向下、功能分解。 优点:系统结构性强、便于设计和理解 缺点:但各模块间关系紧密,一旦功能需求变动导致维护困难 6.1.1 面向对象的程序设计方法(OOP) 方法:把世间万物都看成对象。从内部结构上模拟客观世界。 每个对象都有自己的属性和方法。能对消息做出反应。 程序就是一组对象,对象之间通过发送消息互相通知做什么。 6.1 面向对象的程序设计概述 面向过程和面向对象的区别: 以计算机模拟猫捉老鼠的过程为例。 面向过程的做法: 程序员必须通过编程告诉计算机猫抓老鼠的每一个具体动作,如匍匐,加速,咬住等动作。 面向对象的做法: 程序员给猫发一个消息—“老鼠出现了” 。猫就会自动去抓老鼠。 猫如何抓老鼠的动作还是得由程序员编码来实现,只不 过代码的组织方式大不相同。面向对象的方法更符合人 的思维习惯。 6.1.2 类和对象 6.1.2 类和对象的区别 类(CLASS,类型):定义了对象特征以及对象外观和行为的模板,它刻划了一组具有共同特性的对象。 对象:是类的一个实例 OOP中,程序由一个或多个类组成,在程序运行时视需要创建该类的各个对象(实例) 类是静态概念,对象是动态概念 对象是基于某种类所创建的实例,包括了数据和过程。 例:猫可以定义为一个类,具有颜色,品种属性,具有 抓老鼠的方法。 某个猫对象:白色波斯猫。 1. 类 基类:VFP系统提供的内部定义的类,可提供给用户用于自定义类的基础(例如:表单、控件) 子类:是以其它类定义为起点,为某一种对象所建立的新类。子类将继承任何对父类所做的修改 对象(Object) 每个对象都具有属性及与之相关的事件和方法 属性(Property) : 定义对象的特征 对象的属性由对象所基于的类决定 如猫的颜色,品种 方法(Method) :是对象能够执行的一个操作 方法是与对象相关联的过程,也称方法程序 方法可由用户自己创建 例:SetColor()设置猫的颜色。(主人将它染发了) 事件(Event) :对象可对该事件做出反应 可编写相应的代码,对动作进行响应 事件可由用户的动作、程序代码或系统产生 例:对于老鼠出现这个事件,猫能做出反应。 6.2 基 类 6.2.1 VFP的基类 基类的最小事件集(重要) 基类的最小属性集 容器类(Container classes)是包容其他类的基类 容器可以包含其它对象 容器可以作为所包含的对象的父对象 允许访问包含的对象 控件类(Control classes)是可以包含在容器类中的基类 控件对象可以包含在容器中 不能作为其它对象的父对象 VFP的对象可分为容器对象和控件对象 6.3.1 引用对象 6.3.2 设置对象的属性 6.3.3 调用对象的方法程序 6.3.4 对象对事件的响应 6.3.1 引用对象 何时要引用对象 当要设置或取得对象的某个属性的值时 当要执行对象的某个方法事件时 容器层次体系 容器与容器中的控件是上下层次的关系 一个应用程序的最高层次是 _screen或_VFP,最低层次是一个非容器类控件或是一个不包含任何控件的容器类控件 例如:_screen.caption=“我的表单” 层次体系示意图 绝对引用 从容器的最高层次引用对象,给出对象的绝对地址 例:引用表单Form1对象:FormSet1.Form1 引用表格的第一列中的文本框Text1对象: FormSet1.Form1.Pageframe1.Page1.Grid1.Column1.Text1 相对引用 在容器层次中相对于某个容器层次的引用 相对引用通常运用于某个对象的事件处理代码或方法程序代码中,即在某个容器对象的事件处理代码或方法程序中对所包容的对象的引用,引用时可以直接使用其对象名 相对引用时,所涉及到的一些关键字(P153表5-5) 类似于文件系统中的绝对路径和相对路径 6.3.2 设置对象属性 每个对象都有属性,可以为对象设置属性 属性可以在设计时设置也可在运行时设置(如caption) 设计时修改属性在“属性”窗口中进行 程序代码中,用以下语法进行设置 对象名称 . 属性 = 值 例:绝对引用 FormSet1.Form1.Text1.Value=DATE() FormSet1.Form1.Text1.ForeColor=RGB(0,0,0)黑 FormSet1.Form1.Text1.FontName=“黑体” 引用一个对象的多个属性和方法(重要) 如:with forms
文档评论(0)