Delphi重要语法及OO特性概要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Delphi重要语法及OO特性概要

什么是多态呢?不理解多态可以理解,但是你一定知道什么是多义词,一定知道什么叫着根据上下文来理解文章的意思。你明白了吗?多态和自然语言向对应的就是一词多义或者是一个词在不同的上下文中有不同的同能这样的效果。 可以说在所有的自然语言中都存在多态,但是在计算机语言中,却不是这样的。虽然计算机语言也是一种语言,但是这种语言是人写给计算机理解的,而计算机虽然他的记忆和计算功能很好,但是它的理解能力实在太差,对于计算机来说,它只知道对或错,只知道黒或白,要让他明白其他的东西,我们只要把所有的东西都转换成对和错的判断。而且不能有一点的模糊才行。 父亲有十个儿子,十个儿子各自继承了父亲的品质(类的属性)和行为(类的方法),又各自有自己的特点,例如,都有胳膊腿儿,父亲会用它们来耕作劳动,儿子们可能各异禀赋,或棍棒武术,或翻书写字,或雕刻打磨,或裁补设计——总会产生新的特点,就需要在方法中重新来写这个逻辑(行为逻辑),于是,在定义了新的行为之后,区别于父亲。 当父亲命令儿子们:都给老子去活动活动手脚——便有的裁剪衣饰去了,有的舞枪弄棒去了,有的则摇头晃脑之乎者也去了。 这就是多态(Polymorphism),就是一个属性本来所表现的状态,由于继承,由于概念被丰富了,产生了不同的行为状态。多态是由于继承的发生,继承本身,就是对概念的丰富和完善——新的飞机出来了,有了新的属性和功能,那么旧的飞机类型派生出来新的飞机类型,来解释当下飞机的新的概念。 多态是继承的结果,是一个进化的过程。因为,世界总不能够千篇一律。靠近海滩的蚂蚁,生出翅膀来,对生物存亡有重大意义,这个蚂蚁的概念,就要拓展。? * * 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。 对象是具有类类型的变量。 /view/4287409.htm * * * classA classA classA: 动态方法根据实例的类型调用 classB:静态方法根据转化后的类型调用 classB classB classB ClassA classB classB classB classA * 1、类图   类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系。 2、对象图   与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。 * 1、类图   类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系。 * 强调时间顺序的交互图,显示对象之间的动态合作关系,强调对象之间的消息发送顺序。 * 类图的补充,类所经历的各种状态。 * 从用户角度描述系统功能,并指出各功能的操作者。 * 是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。部署图用于表示一组物理结点的集合及结点间的相互关系,从而建立了系统物理层面的模型。 * Assert用于检查不应该发生情况,用来帮助开发人员对问题的快速定位。异常处理用于对程序发生异常情况的处理,增强程序的健壮性、容错性,减少程序使用中对用户不有好的行为,不让(通常也不必)用户知道发生了什么错误。 * 基于隐含约定编程: 基于契约编程: 契约式编程是编程的一种方法。那么什么是契约式编程呢?我想这个概念是从“合同”演变过来的。   在人类的社会活动中,契约一般是用于两方,一方(供应者)为另一方(客户)完成一些任务。每一方都期待从契约中获得利益,同时也要接受一些义务。通常,一方视为义务的对另一方来说是权利。契约文档要清楚地写明双方的权利与义务。契约合同能保障双方的利益,对客户来说,合同规定了供应者要做的工作;对供应者来说,合同说明了如果约定的条件不满足,供应者没有义务一定要完成规定的任务。   同样的道理也适合于软件。设想一个软件单元E。它要达到它的目的(履行契约), E使用的策略可能会包括一系列的子任务,t1, ... tn。如果子任务ti 不是那么简单的,它得调用另一个功能例程(routine)R。换句话说,E把子任务转包给R。这样的情形应该被一个很好定义的“登记表”(roster)来管理双方的义务与权利--契约。假如ti是一项任务,要求把一个给定的元素插入到一个有限容量的字典中。此处字典是一个(名-值)表,每一个元素(值)通过一个作为关键字的字符串(名)存取。(译者注:这里“元素”可

文档评论(0)

1520520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档