面向对象的概念与UML.ppt

  1. 1、本文档共141页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 面向对象的概念与UML;第三章 面向对象方法与UML;客观世界中的应用问题面对的主体都是物理的或概念的实体。 从这些实体出发,分析实体的作用、责任以及它们之间协作,从而找出问题的解,是很自然的。 面向对象技术就是适合用这种方式分析和解决问题的方法。它的基石就是问题领域中识别出来的各种对象。依赖这些对象提供的服务和对象之间相互的协同(关系),实现期望的功能。 面向对象技术能够在解决方案中直接模拟问题领域,并与人类的思维习惯相一致。;什么是面向对象;面向对象系统的特点;对象(object);计算机窗口中的三个多边形对象;表示多边形的三个对象;类(class)和实例(instance);由两个四边形对象导出一个类;基本概念-类;基本概念-实例;消息(message);继承(inheritance);建立继承结构的好处: 易编程、易理解 代码短, 结构清晰 易修改 共同部分只要在一处修改即可 易增加新类 只须描述不同部分 怎样建立一个好的继承层次 类可以从父类继承,父类又可以从它的父类继承,形成多层次的继承结构。 当增加一个新类时,不一定在最低层,可能需要插在中间层,这样可能需要调整原来的层次结构。;建立一个新类起重车。它的底盘、发动机、轮胎、驱动装置等都在已有类汽车中。关系如右图所示。新类是已有类的特殊情形。这时直接让起重车类作为汽车类的子类即可。;增加一个新类拖拉机。它的底盘、发动机等与汽车不同,但驱动装置、轮胎等与汽车相同。 调整继承结构。建立一个新的一般的车辆类,把拖拉机与汽车类的共性放到车辆类中,拖拉机与汽车类都成为车辆类的子类。 车辆是抽象类,相关操作到子类汽车找。;另一种情形是在已有类的基础上加入新类,使得新类成为已有类的泛化类。 例如,已经存在三角形类,四边形类,想加入一个多边形类,并使之成为三角形和四边形类的泛化类。;前三个情况主要是通过查找(应用领域)类库,找到可以原封不动地继承的类或可以通过调整继承层次结构继承的类。但如果在已有的继承层次中找不到可以继承的已有类,就从新开始完全独立地建立一个类。 如果一个类需要用到多个现???类的特征,可以从多个类中继承,称为多继承。 例如退休教师是继承退休者和教师这两个类的某些特征或行为而得到的一个新类。;;“继承”可提高程序的可复用性。 “继承” 使用规则:;多态性(polymorphism)和动态联编(dynamic binding) 多态性:在类等级的不同层次中可以共享(公用)一个行为(方法),然而不同层次中的每个类确各自按自己的需要来实现这个行为。 动态联编(绑定):多态性中当对象收到发送信息(实行一个行为时)时,根据该对象所属的类动态选用该类中定义的方法。;文件——〉打开文件 结构化方法: Open-disk-file (打开硬盘文件) Open-tape-file (打开磁带文件) Open-diskette-file (打开软盘文件) 面向对象方法:;.;Myfile实例它是Fileclass类中实例。 Myfile.open() 注:这些工作在运行时(动态)完成,而不是在编译时(静态地)完成。 如在C程序中使用清零操作命令ClearInt ( ) 时要严格区分该命令适合一个整数,还是一个整数数组。但在C++情形,ClearInt ( ) 对两者都适用,它自己判断对象是哪一个。这就是多态性。它意味着一个操作在不同类中可以有不同的实现方式。如清零操作 ClearInt ( ) 针对消息对象是 int array 还是int,其实现是不同的。 ;3.2 统一建模语言UML概述;UML 发展历史;;UML 发展历史;UML的特点;可视化,表示能力强大 一种图形化语言,系统的逻辑模型和实现模型都能用UML的模型图形清晰地表示。 可以处理与软件的说明和文档有关的问题。 提供了语言的扩展机制,用户可以根据需要增加定义自己的衍型(StereoType)、标记值和约束等。 可用于各种复杂类型的软件系统的建模。 独立于过程 系统建模语言,独立于开发过程。;容易掌握使用 概念明确,建模表示法简洁明了,图形结构清晰,容易掌握使用。 着重学习三个方面的主要内容: (1) UML的基本模型元素 (2) 组织模型元素的规则 (3) UML语言的公共机制 与程序设计语言的关系 用Java,C++ 等编程语言可实现一个系统。 一些CASE工具可以根据 UML所建立的系统模型来产生Java、C++ 等代码框架。;UML的视图;(1)用例视图( Use Case View) 用例视图由一组用例图构成, 其基本组成部件是用例、参与者和系统,用于从系统的外部视角描述参与者与系统的交互,进行系统的功能建模。用例视图的意图是列出系统中的用例和参与者,并显

文档评论(0)

浪漫唯美-文档菜鸟 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档