UML 类图与对象图

一、类图

1.类与对象

1.1类与对象的概念

类是具有相同结构、行为和关系的一组对象的描述符。
对象是符合类定义的一个实例。

1.2.类的属性

[可见性]属性名[属性名]

  • 公有属性(public)
  • 私有属性(private)(子类不可继承)

受保护属性(protected)(子类可以继承)

1.2.1作用域

类的作用域分为两种:对象作用域和类作用域
对象的作用域指的是对此类的每个对象都有一个副本。
类的作用域指的是此构成只有一个作用域。

1.2.2类的职责

类的职责指的是对该类的所有对象所具备的那些相同的属性和操作共同组成的功能或服务的抽象。


带职责和属性约束的洗衣机类

2.类之间的关系

2.1关联关系:一个类的实例与另一个类的实例在结构上的静态联系。

特征 均为属性上的关系
1、一个类的属性的数据类型是另一个类的定义;
2、一个类的部分对象与另一个类的部分对象存在属性值上的联系;
3、关联关系一旦建立,系统运行与否它都存在。

微信图片_20181110203024.png

微信图片_20181110203920.png

微信图片_20181110204119.png
微信图片_20181110204122.png

2.2依赖关系:一个类的结构上的变化会影响到另一个类

特征:
一个类的方法的参数的数据类型是另一个类的定义
一个类的方法使用了另一个类的属性
一个类的方法调用了另一个类的方法
依赖关系只有在系统运行时它存在,系统不运行时它不存在

2.3 泛化关系:一般类与特殊类之间的继承

特征:
一般类定义了共同的属性和方法
特殊类继承了一般类的属性和方法
特殊类还可以定义自己的属性和方法
泛化关系只有在系统运行时它存在,系统不运行时它不存在,除非要将两类对象永久保存

关联关系和依赖关系的对比

关联关系 依赖关系
静态的 动态的
数据级别上的 代码级别上的
部分的 全体的
有多重性 无多重性
实体类之间存在关联关系 {边界类,控制类}和{边界类,控制类,实体类}之间存在依赖关系

2.4 聚合关系

聚合关系

2.5 组合关系

组合关系

2.6 实现关系

接口是一个特殊的类(无属性,有操作),实现接口操作的类(称为实现类)与接口之间存在实现关系。
调用接口操作的类(称为使用类)与接口之间存在依赖关系。

2.7抽象类和接口的比较

共同点:
两者都有方法没有提供实现代码
提供实现代码的其他类,实现的算法不同,会导致两者具有不同的行为。因此,很容易扩展软件系统的功能。
不同点:
抽象类有些方法可以提供实现代码,接口所有的方法都没有提供实现代码
抽象类只能被继承,接口只能被实现

3. 类的版型

UML中有3种主要的类版型,即边界类(boundary class)、控制类(control class)和实体类(entity class)

3.1 版型介绍

实体类用于保存需要放进持久存储体的信息


实体类表示

边界类位于系统与外界的交界处,它是系统内的对象和系统外的参与者的联系媒介。外界的消息只有通过边界类的对象实例才能发送给系统


边界类表示

控制类是负责其他类工作的类。根据业务规则,执行相应脚本流,以委托责任的形式向其他类发出消息,由其他类来实现具体的功能。
控制类的一个主要用途是协调边界类和实体类之间的交互


控制类表示

二、对象图

对象图表示一组对象及它们之间的联系。
对象图是系统的详细状态在某一时刻的快照,常用于表示复杂的类图的一个实例。对象图实质上是具有关联关系的类图的实例。


类图与对象图

对象图(object diagram)描述的是参与交互的各个对象在交互过程中某一时刻的状态。它是系统在某一个特定时间点上的静态结构,是类图的实例和快照,即类图中的各个类在某一个时间点上的实例及其关联关系的静态写照

类图 对象图
在类图中,每个类包含三部分:类名、类的属性和类的操作 在对象图中,每个对象包含二部分:对象名、对象属性
类的名称栏只包含类名 对象的名称栏包含对象名和类名
类的属性栏定义了所有属性的特征 对象的属性栏定义了属性的当前值
类中列出了操作 对象图中的对象不包含操作,因为对于属于同一个类的对象,其操作是相同的
类中使用了关联连接,关联中使用关联名、角色以及约束等特征定义 对象使用链进行连接,链中包含名称、角色
类是对象的抽象 对象是客观存在的抽象,对象是类的实例
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,499评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,099评论 18 139
  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 3,710评论 0 14
  • 各位领导,专家和同行们: 大家好!我叫胡海军,来自河南三门峡市灵宝五亩乡。我校位于五亩乡东淹塬上,学校只有1...
    海军_0646阅读 322评论 0 0
  • 突然有种被世界抛弃了的感觉,曾自认为最好的两个朋友,一个因为金钱关系影响了朋友关系,一个因为开玩笑介意了,朋友圈的...
    陈小兀阅读 59评论 0 0