(第1章 面向对象的设计.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(第1章 面向对象的设计

第1章 面向对象的设计 在本章中,笔者将向大家介绍有关面向对象的基本概念,及其如何和现实之中的问题相关联起来。并给出一个详细的解决方案供大家学习。本章主要涉及到的知识点如下所述。 对象和面向对象的概念:让大家明白什么是对象,什么是类,什么是面向对象,及类和对象的关系。 面向对象与传统设计的比较:了解面向对象的优点,明白为什么要使用面向对象的设计方法,而不使用传统的设计方法。 抽象的概念和实现:理解什么是抽象,并知道如何实现抽象。 面向对象的分析与设计:用实例来讲解面向对象的分析及其设计。 1.1 接近自然的思维方式—面向对象的思想 面向对象技术已经成为当今软件世界的主要程序设计方法,具有很多优点。了解并掌握其中的基本概念,对建立起面向对象的程序设计思想有很重要的作用。 1.1.1 无处不在的对象 既然是面向对象的设计,那么首先要搞明白什么是对象。其实现实中人们要进行研究的任何事物都是对象,其组成了整个世界。包括抽象的规则、计划或者事件。 对象是一个类的实例。其具有自身的状态(一个对象用数据值来描述它的状态)和操作(用于改变对象的状态,对象及其操作)。对象实现了状态和操作的结合,使状态和操作封装于对象的统一体中。这也是对象的特征。 简单的说,就是一些个体,真实反映于现实世界中的事物。例如,你、我、他就都是对象,是人这个类的实例。 1.1.2 对象的组织—类 类是具有相同属性和行为的一组对象的集合。其为属于该类的所有对象提供了统一的抽象描述,其内部包括属性(是对象的状态的抽象,用数据结构来描述)和行为(对象操作的抽象,用操作名和实现该操作的方法来描述)两个主要部分。对象的抽象就是类。 简单的说,就是物以群分,人以类聚。在一个抽象的概念层上建立对象的分类。例如,蔬菜就是一个类,但在现实中,是找不到蔬菜的,因为其只是对是青菜、白菜、花菜等对象的一种分类,是把其主要特征进行抽象后得到的。 1.1.3 类与对象的关系 类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象(这个概念将在后面的章节进行讲解)就是类。类描述了一组有相同状态(属性)和相同操作(行为)的对象。 例如,客车和摩托车作为车这个类的对象,都具有一些共同的属性:重量、体积、牌照和排气量等,不难想到,还有许多的其他的属性。也有一些共同的行为:点火、起动、排气和燃烧等。而车就是汽车和卡车抽象出来的类。如果要设计一个车的模拟系统,那么在系统中就有可能会包括上面提到的一些属性和行为。 1.1.4 自然的思维方式—面向对象 在讲解面向对象概念之前,需要读者了解面向对象的三大特征(这三个概念将会在以后的章节中进行讲解,这里提出来而已):继承、多态性、封闭。 面向对象其实就是基于对象的概念,以对象为中心,以类和继承为构造机制,开发出能够反映现实世界某个特定片段的软件系统。 是从现实世界中客观存在的事物(即对象)出发,来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中相关比较远的事物,并且没有对应关系的其他概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。 1.1.5 “基于”与“面向”的差别 需要区分一下“基于对象”和“面向对象”的区别。因为现实之中,有很多的开发语言,其实是“基于对象”的,而不是“面向对象”的。那么什么是基于对象呢? 基于对象,通常指的是对数据的封装,以及提供一组方法对封装过的数据的操作。例如C的IO库中的FILE*就可以看成是基于对象的。 面向对象,则是在基于对象的基础上增加了继承和多态。也就是说“面向对象”和“基于对象”都实现了“封装”的概念,但是面向对象实现了“继承和多态”,而“基于对象”没有实现这些。 1.2 传统设计与面向对象设计的比较 采用面向对象的设计方法与传统的设计方法相比较有很多的优点,这些优点到底是什么?传统设计方法又有那些不足?下面笔者将向大家逐个讲解。 1.2.1 从“北京烤鸭”到面向对象 大家先来展开一下想象,如果想请别人吃自己做的“北京烤鸭”话,用传统的设计方法是先把鸭杀死,拔光毛,去断鸭脚和翅膀,用清水清洗干净鸭的内脏,并在里面填充上适当的香料。将鸭体用沸水浇烫,并用糖水浇淋,风干,放炉火中烤熟,估计时间差不多以后,取出刷上一层香油,即可食用。这种做法是面向过程的模式。 面向过程制作“北京烤鸭”的方法,采用的是按顺序按步骤得到“北京烤鸭”。将这些步骤抽取出关键词,每个关键词代表一个过程:杀鸭-拔毛-清洗-填料―浇烫―浇淋-风干-烘烤-取出-上油。怎么样,一目了然易于理解吧。 但如果能

文档评论(0)

menhuai2859 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档