软件工程第六章面向象方法概述.pptVIP

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

软 件 工 程 第17讲:面向对象方法 主讲人:阳王东 Email:yangwangdong@126.com 主要内容 编程的沉思 什么是面向对象 面向对象的特征 对象之间的关系 编程的沉思 编程存在重复劳动吗 机器替代了人手工的重复劳动 程序则替代了人脑的重复性劳动 编程无重复 程序中的世界 经典的公式:数据结构+算法 面向对象认为软件功能是通过一个个对象的行为来完成的。 庖丁解牛的三重境界 眼中全牛,心中无牛 心中解牛 心中全牛 面向对象的基本概念 对象的定义 对象是具有相同状态的一组操作的集合。 对象是对业务系统中某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或与它交互的能力。 对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体 对象是一台自动机。 对象∷=ID,MS,DS,MI 其中,ID是对象的标识或名字 MS是对象中的操作集合 DS是对象的数据结构 MI是对象受理的消息名集合(即对外接口) 对象(Object)是类(Class)的一个实例(Instance)。 面向对象的基本概念(续) 类的定义 对具有相同数据和相同操作的一组相似对象的定义。 类是对象的程序描述,对象是该程序运行时所创建的实例。 对象比作房子,那么类就是房子的设计图纸 。 对象比作一个个活人,则人类则是对人这类动物的特征和行为的描述。 对象比作一条条活狗,则狗类则是对狗这类动物的特征和行为的描述。 面向对象程序设计的重点是类的设计,而不是对象的设计 。 面向对象的基本概念(续) 消息,就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常,一个消息由下述三部分组成: 接收消息的对象; 消息选择符(也称为方法名); 零个或多个参数值。 对象A向对象B发送消息f就是对象A调用对象B的方法f 面向对象的特征 以数据为中心,抑或以行为为中心 分别用上述两种方式来描述人 封装性 继承性 多态性 封装性 封装性是把对象的属性和方法结合成一个独立的单元,并尽可能荫蔽对象的内部细节。 Public,private,protected 避免访问内部数据 尽量通过方法访问 优点 数据独立 (每个对象都对应于一个独立的地址空间) 具有隐藏性和安全性 易于维护(由于数据独立,易于发现问题) 缺点 需要较多的输入输出函数 超市销售系统 继承性 继承是事物之间存在的共性 子类自动地共享基类中定义的数据和方法的机制。 基类与派生类 单继承与多重继承 继承的优点 减少原代码,即代码可重用。 代码的相互独立性。 易于维护。 体现自然界之间的关系。 继承性(续) 车辆的继承关系 动物科目划分的一种继承关系 继承性(续) 不要滥用继承 如果类A和类B毫不相关,不可以为了使B的功能更多些而让B继承A的功能。 人想拥有狗鼻子的灵敏问题。 若在逻辑上A是B的“一部分”(a part of),则不允许B继承A的功能,而是要用A和其它东西组合出B。 头与眼睛、鼻子、耳朵、嘴巴的关系。 尽量避免使用多重继承。 继承的层次不宜太多 多态性 对不同的消息表现出不同的行为 覆盖与重载 虚方法 参数重载 参数数目不同 参数类型不同 参数类型顺序不同 抽象类和接口 实现与继承 类与对象的描述 (a)是表示类——对象的图形符号,(b)是表示类的图形符号。 对象之间的关系 归纳关系 组合关系 关联关系。 归纳关系 归纳关系就是“一般—特珠”关系,它反映了一个类与若干个互不相容的子类之间的分类关系。高层类(即基类)说明一般性的属性,低层类(即派生类)说明特殊属性。低层类对象是某种特殊的高层类对象,它继承了在高层类中定义的属性和服务。 归纳关系体现为一种继承关系 归纳关系(续) 组合关系 组合关系就是“整体—部分”关系,它反映了对象之间的构成关系。组合关系也称为聚集关系。 组合关系具有的最重要的性质是传递性。也就是说,如果A是B的一部分,B是C的一部分,则A也是C的一部分 组合关系(续) 关联关系 关联关系反映对象之间相互依赖、相互作用的关系。通常把两类对象之间的二元关系再细分为一对一(1∶1)、一对多(1∶M)和多对多(M∶N)等三种基本类型,类型的划分依据参与关联的对象的数目 关联关系(续) 链属性。关联链可以通过关联类来实现 对象模型实例 作业 利用面向对象的方法对项目的题目进行初步业务对象分析和描述。 * * 仓库 属性 服务 价格表,物品列表, 帐单 提供物品, 帐单,入库、出库 抽象 商品 属性 服务 商标,型号,计量单位、价格、数量 入库、销售、折扣、查询数量等 抽象 非机动车 客车 卡车 车辆 拖拉机 机动车 自行车 人力车 翼手目 猫科 哺乳动物 灵长目 食肉目 鲸目 人科 猴科 犬科 人 猩猩 狗 狼 狐 猫 虎 豹

文档评论(0)

186****0507 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档