- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[IT认证]精编vfp教程 第6章
第六章 对象模型与事件模型 6.1 面向对象的程序设计概述 VFP支持 结构化程序设计 面向对象的程序设计(OOP) 6.1.1 面向对象的程序设计方法 结构化程序设计方法 本质:功能设计,自顶而下,功能分解,从外部功能上模拟客观世界 优点:结构清晰,便于设计和理解 过程:做什么──如何做 例:如何完成装修房屋的工作? 电买电线、开关──完成布线 水买水管、洁具、瓷砖──安装水管、铺瓷 砖、安装洁具 木买木材──做家具──买地板──铺地板 漆买油漆──漆家具、漆地板 每一个工序,都必须了解细节,比如买什么样的材料,做家具时,要把板子做成多大,哪一块木板和哪一块木板要钉再一起,结果房主变成了各工种的全才 程序员:按顺序做所有的事 面向对象的程序设计 本质:类和对象的综合,自底向上,从内部结构上模拟客观世界 优点:简化程序设计,提高程序代码的重用性 过程:用什么做──要做什么 (类、对象) (具体去解决某一个任务) 例:如何完成装修房屋的工作? 用什么做?电工、水工、瓦匠、木工、漆匠(类) 需要 找到某个电工、水工、瓦匠、木工、漆匠(对象) 要做什么? 用户自己决定,要达到什么效果 只要从类中生成对象,告诉对象要做的事,房主不必操心各工种的顺序,由各对象自己去协调;不必关心细节,使用什么牌子的洁具、什么品种的油漆 程序员:使用定义好的类,达到什么效果, 不用管发生了什么事,如何处理! 6.1.2 类和对象 类(CLASS)定义了对象特征以及对象外观和行为的模板,它刻划了一组具有共同特性的对象。 对象(OBJECT)是类的一个实例,包括了数据和过程(操作) 比较: 类是静态的概念,对象是动态的概念 类是抽象的,具有固定的特征;对象是具体的,不同的对象具有不同的特征和行为 类的分类 从提供者的角度 基类(base class):VFP系统类 用户自定义类(user-defined class):由用户定义的类,可派生子类 从层次角度 父类:子类所基于的类 子类(subclass):以其他类定义为起点,为某一种对象所建立的新类。 子类将继承对父类的所有修改 类的层次举例 类的特点 继承性:子类延用父类特征的能力,父类特征发生改变子类将继承新特征 作为有翅类子类的蝴蝶有翅膀 多态性:关联的类包含同名的方法程序,但方法程序的内容不同 相同的操作可以作用于多种类型对象上并获得不同的结果,从而增强了系统的灵活性和扩展性 例:教师.上课 学生.上课 相关联对象同时包含Minus(A,B)完成相加,但参数不同,可以是字符型、数值型、日期型 类的特点 封装性:包含和隐藏对象信息,如内部数据结构和代码的能力将操作对象的内部复杂性与应用程序的其他部分隔离开来。例:电话,只要知道如何使用即可,具体实现(电路)隐藏再内部封装和隐藏是面向对象技术的核心,使软件具有很好的模块性 抽象性:提取一个类和对象与众不同的特征,而不对该类或对象的所有信息进行处理, 忽略对象的内部细节,集中于对象的特性 对 象 每个对象都有属性,以及与之相关的事件和方法,通过它们来处理对象 可以新建属性和方法 事件集固定的,不能新建事件 对象是面向对象式系统中运行时刻的基本成份,它是属性与行为(即数据与操作)以及与其他对象的接口的封装体。 对象的属性 对象的特征及某一方面的行为(状态) 汽车 颜色、载重 停、行状态 电话 颜色、大小 拿起、挂上状态 来源:所基于的类的属性、定义的新属性 设置: 设计阶段(属性窗口) 运行阶段(代码 对象.属性=值) 有些属性不能进行设置,仅是只读(表单集的表单数) 对象的事件 对象可以识别和响应的动作,可以编写代码对动作进行响应, 来源:事先定义好的动作(事件集合固定),不能创建新事件 产生:外界对本对象施加动作 用户动作 例:电话 提话筒,放话筒 程序代码 或 系统 对象的方法 能干什么? 在一个对象中,说明如何去完成任务的代码(过程、函数) 来源:系统定义、用户新建 分类: 事件相关的(事件处理程序) 与事件同名 与事件无关的 (在系统中显式调用) 6·2 基类 基类(系统定义类) 最小属性集 class baseclass classlibary parentclass 最小事件集 init destroy error 分类: 运行 容器类:包容其他类的基类 容器对象 控件类:可以包含在容器类中的基类 控件对象 讲完第八章再复习一下容器
文档评论(0)