关闭

uml那些事——几类重要的图

标签: umlclass
289人阅读 评论(0) 收藏 举报
分类:

根据老师的task记录几个uml的重要图例:


association:


(1)关联关系是类与类之间的联结,它使一个类知道另一个类的属性和方法。

(2)关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

(3)在 Java 或 c++ 中,关联关系是通过使用成员变量来实现的


例如:

class Student{
};

class Teacher{
	protected:
		list<Student> stList;
}; 

一个教师对应多个学生,通过成员变量间的关系实现。

uml图例:


aggregation:

1、聚合关系是关联关系的一种,是强的关联关系。

2、聚合是整体和部分之间的关系,例如汽车由引擎、轮胎以及其它零件组成。

3、聚合关系也是通过成员变量来实现的。但是,关联关系所涉及的两个类处在同一个层次上,而聚合关系中,两个类处于不同的层次上,一个代表整体,一个代表部分。

4、关联与聚合仅仅从 Java 或 C++ 语法上是无法分辨的,必须考察所涉及的类之间的逻辑关系。


class SmartPhone{
    public:
        Screen *screen;
        Key *key;
        Battery *battery;
};

class Screen{
}; 

class Key{
}; 

class Battery{
};

uml图例:


composition:


1、合成关系是关联关系的一种,是比聚合关系还要强的关系。

2、它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

3,它的部分与整体的关系比aggretion更强,当整体被销毁时,组成整体的成员随即销毁,不能再被运用。


class Person{
	private:
		Arm arms[2];
		Leg legs[4];
};

class Arm{
}; 

class Leg{
}; 

图示:


这表示,一个人挂了之后,他的躯体各部分自然也就没法用了。


dependency:


1、依赖关系也是类与类之间的联结

2、依赖总是单向的。

3、依赖关系在 Java 或 C++ 语言中体现为局部变量、方法的参数或者对静态方法的调用。


public class Car {
}

public class Person {
	public void buy(Car car){
		System.out.println("A person buy a car");
	}
}


图示:



generalization:

1,描述一类继承关系,其中父类是子类的generalization,子类是父类的inheritance

2,父类与子类的定义与c++和java的定义基本相同


class Man{
private:
	int age;
public:
	void work(){
		printf("I can work\n");
	} 
};

class Son{
}; 

图示:



0
0
查看评论

UML那些事儿

2.1 类图 2.2 对象图 2.3 包图 2.4 活动图 2.5 序列图 2.6 用例图 类(Class) 类(图A)是对象的蓝图,其中包含3个组成部分。第一个是Java中定义的类名。第二个是属性(att...
  • xcysuccess3
  • xcysuccess3
  • 2012-09-04 11:39
  • 3023

UML中的九种图

一、什么是图            图(diagram):一个用于解释事务如何运转或澄清一个整体中各个部分之间关系的计划、草案、图形或提纲。            UML中...
  • u013036959
  • u013036959
  • 2014-11-07 22:15
  • 1233

《那些年啊,那些事——一个程序员的奋斗史》——01

    段伏枥,一个瘦小,矮小,根本和“帅”这个字粘不上任何关系的普通人。名字的来源在于其多读了几年书的老爹,总抱着有一天要出书出名乃至于名流千古的美好理想,但可惜现实总是给予他无情的而又现实的打击,于是就将理想寄望于自己的儿子,起了个“伏枥”的名,寓意为“老骥伏枥,志...
  • norains
  • norains
  • 2011-06-09 12:09
  • 71984

《最重要的事,只有一件》读书笔记

背景每天都在忙忙碌碌中度过,感觉到很累,但仔细思考一下好像也没有收获。仔细想一想,在每天之中,大脑主动或被动的接受了太多的信息,如果没有给信息分出轻重缓急,整理归类,熵值就会不停的增加,进而更加混乱,12月份的时候,经朋友推荐,看了《最重要的事,只有一件》这本书,曾持续稳居亚马逊总榜第一,虽然有点鸡...
  • aomandeshangxiao
  • aomandeshangxiao
  • 2017-01-08 23:14
  • 3211

我和滴滴打车司机的那些事

作者:朱金灿来源:http://blog.csdn.net/clever101 滴滴打车毫无疑问是当前共享经济的杰出代表,但是有时我在想:它有没有可能成为一种社交的新方式?下面以我为例,讲讲我和滴滴打车司机的一些事。 有一次我带着一个亲人的小孩打个滴滴出去玩。滴滴司机年纪和我...
  • clever101
  • clever101
  • 2016-08-21 17:17
  • 2018

Java - UML中有哪些常用的图?

UML定义了多种图形化的符号来描述软件系统部分或全部的静态结构和动态结构,包括:用例图(use case diagram)、类图(class diagram)、时序图(sequence diagram)、协作图(collaboration diagram)、状态图(statechart diagra...
  • chimomo
  • chimomo
  • 2017-11-03 10:04
  • 295

AOP那些事儿

原文地址:http://my.oschina.net/huangyong/blog/161338
  • lujianing2011
  • lujianing2011
  • 2014-07-02 21:14
  • 1007

<<最重要的事只有一件>>读后感

人生需要规划,需要目标. 可使用倒推法制定目标,如:人生目标,十年目标,五年目标,月目标,周目标及当天目标等等. 每个小目标都是其大目标的组成部分或前提条件. 然后根据目标找到关键问题,再根据关键问题找出最重要的事,最后全力以赴的完成. 完成了最重要的一件事就解决了关键问题,解决了关键问题...
  • xutao20170209
  • xutao20170209
  • 2017-02-20 13:09
  • 1748

漫谈程序员系列:让程序员蛋疼的那些事儿

也许你和我一样,讨厌这些……
  • foruok
  • foruok
  • 2015-03-30 07:34
  • 16195

时间管理-要抽专门的时间去做那些重要但不紧急的事情

教育是年轻人对自己最成功的后天改造,但是在生活中,并不是每个拿到进入主流社会资格证的人,都做出了显而易见的业绩并获得了相应的报酬。 大家都在忙,得到的回报却有高有低,问题究竟出在哪里了呢? 19世纪,意大利经济学者帕列托提出了著名的"二八法则",对于付出与回报的关系,&quo...
  • peijian1998
  • peijian1998
  • 2014-04-18 11:19
  • 2582
    个人资料
    • 访问:17781次
    • 积分:745
    • 等级:
    • 排名:千里之外
    • 原创:59篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论