- 1、本文档共70页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 类图和对象图 使用面向对象的思想描述系统,能够把复杂的系统简单化、直观化,这有利于用面向对象的程序设计语言实现系统,并有利于未来对系统的维护。构成面向对象模型的基本元素有类、对象和类与类之间的关系等。类图和对象图合称为结构模型视图或者静态视图,用于描述系统的结构或静态特征。其中,类图用来描述系统中的类以及类与类之间的静态关系等;对象用来描述特定时刻实际存在的若干对象以及它们之间的关系。一个系统的模型中可以包含多个对象图,每个对象图描述了系统在某个特定时刻的状态。 本章学习要点 3.1 类图的概念 3.2 类图建模技术 3.3 对象图 3.4 对象图建模技术 3.5 实例——图书馆管理系统的类图 3.1 类图的概念 构建面向对象模型的基础是类、对象以及它们之间的关系。可以在不同类型的系统(例如,商务软件、嵌入式系统、分布式系统等)中应用面向对象技术,在不同的系统中描述的类可以是各种各样的。例如,在某个商务信息系统中,包含的类可以是顾客、协议书、发票、债务等;在某个工程技术系统中,包含的类可以有传感器、显示器、I/O卡、发动机等。 在面向对象的处理中,类图处于核心地位,它提供了用于定义和使用对象的主要规则,同时,类图是正向工程(将模型转化为代码)的主要资源,是逆向工程(将代码转化为模型)的生成物。因此,类图是任何面向对象系统的核心,类图随之也成了最常用的UML图。 3.1 类图的概念 描述类、接口、协作及它们之间关系的图。 显示系统中各个类的静态结构。 3.1.1 概述 类图的元素: 类(Class) 接口(Interface) 协作(Collaboration) 依赖关系(Dependency) 泛化关系(Generalization) 关联关系(Association) 实现关系(Realization) 3.1.2 类 面向对象系统组织结构的核心。 对一组具有相同属性、操作、关系和语义的对象的抽象。 包括名称部分(Name)、属性部分(Attribute)和操作部分(Operation)。 3.1.2 类 1 名称 2 属性 3 操作 4 职责 5 约束 6 注释 名称 应该来自系统的问题域。 应该是一个名词,且不应该有前缀或后缀。 分为简单名称和路径名称。 属性 描述了类在软件系统中代表的事物(即对象)所具备的特性。 类可以有任意数目的属性,也可以没有属性。 在UML中,类属性的语法为: 属性 1. 可见性 2. 属性名 3. 类型 4. 初始值 5. 属性字符串 (1) 可见性 类型: 公有(Public) “+” 私有(Private)“-” 受保护(Protected)“#” (2) 属性名 每个属性都必须有一个名字以区别于类中的其他属性。 属性名由描述所属类的特性的名词或名词短语组成。 单字属性名小写,如果属性名包含了多个单词,这些单词要合并,且除了第一个单词外其余单词的首字母要大写。 (3) 类型 简单类型: 整型 布尔型 实型 枚举类型 系统中的其他类 (4) 初始值 目的: 保护系统的完整性,防止漏掉取值或被非法的值破坏系统的完整性。 为用户提供易用性。 (5) 属性字符串 指定关于属性的其他信息。 任何希望添加在属性定义字符串值但又没有合适地方可以加入的规则,都可以放在属性字符串里。 操作 对类的对象所能做的事务的抽象。 一个类可以有任意数量的操作或者根本没有操作。 返回类型、名称和参数一起被称为操作签名。 在UML中,类操作的语法为: 操作 1. 可见性 2. 操作名 3. 参数表 4. 返回类型 5. 属性字符串 (1) 可见性 类型: 公有(Public) “+” 私有(Private) “-” 受保护(Protected) “#” 包内公有(Package) “~” (2) 操作名 用来描述所属类的行为的动词或动词短语。 单字操作名小写,如果操作名包含了多个单词,这些单词要合并,并且除了第一个单词外其余单词的首字母要大写。 (3) 参数表 一些按顺序排列的属性定义了操作的输入。 是可选的,即操作不一定必须有参数才行。 定义方式:“名称:类型”。 若存在多个参数,将各个参数用逗号隔开。 参数可以具有默认值。 (4) 返回类型 是可选的,即操作不一定必须有返回类型。 绝大部分编程语言只支持一个返回值。 具体的编程语言一般要加一个关键字void来表示无返回值。 (5) 属性字符串 在操作的定义中加入一些除了预定义元素之外的信息。 职责 类或其他元素的契约或义务。 自由形式的文本。 非形式化的方法。 约束 指定了类所要
文档评论(0)