混沌Java---UML类图
Posted thereIsNoCode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了混沌Java---UML类图相关的知识,希望对你有一定的参考价值。
UML是啥?-- 标准对象建模语言
为啥要学这个?-- 当然是重要才学啦!
什么,你说马老师发来截图,说这个就是练死劲,没用?
我和你说小伙子,传统UML讲究点到为止,以和为贵,与其他语言从来不搞窝里斗,希望你上网自己查查,耗子尾汁。
小伙汁:马老师,你这,你这说啥啊,太抽象了?!!
马老师:你要知道,要画好UML类图,就要先学会三维立体混元劲,以此为丹田运气发力才能画好UML类图。下面我将向你展示如何画好一个UML类图。看好了嗷,嗷,别眨眼,很快的嗷。
------------------------------分割线------------------------------
第一,什么是类,如何用UML表示一个类?
狭义上,类本质上是引用数据类型;广义上,类是对现实生活中一些具有共同特征的事物的抽象,且类具有三大特点:封装性、继承性、多态性(这些就不细说了)。而在系统设计阶段,类可以认为地分成三种类型:
1. 实体类:实体对象的抽象,通常来自域模型(现实世界),用来描述具体的实体,通常映射到数据库表格与文件中。
2. 控制类:控制对象的抽象,主要用来体现应用程序的执行逻辑,将其抽象出来,可以使变化不影响用户界面和数据库中的表。
3. 边界类:边界对象的抽象,通常是用来完成参与者(用户、外部系统)与系统之间交互的对象,例如:From、对话框、菜单、接口等。
第二,类的UML表示:
第一列:定义类名
第二列:定义属性,其中对于属性可见域的表示有:“+”表示public、“-”表示private、“#”表示protected
第三列:定义行为,同样其作用域的表示与属性一致。
第三,类与类之间的关系有:
1)关联关系 2)依赖关系 3)泛化关系 4)接口与实现关系
ps:关联关系通常将一个类的对象作为另一个类的成员变量
------------------------------分割线------------------------------
单向关联:
在UML类图里用单向箭头连接
//单向关联
public class Customer{
private Address address;
.......
}//每位顾客都有一个对应的地址
public class Address{......}
双向关联:
UML里用不带箭头的实线连接
//双向关联
public class Customer {
private Product[] products;
......
}
public class Product {
private Customer customer;
......
}
自关联:
UML用带箭头实线指向本身
//自关联
public class Book {
private Book book;
……
}
多重性关联(看不懂可跳过):
表示两个关联对象在数量上的对应关系,有如下表格:
这里以其中一个例子做说明:
//多重性关联
public class Form {
private Button[] buttons; //定义一个集合对象
......
}
public class Button {......}
聚合关联:表示整体与部分的关联。在该关联中,成员对象是整体的一部分,但该成员对象也可能脱离出来作为一个单独完整的对象。
//聚合关联
public class Car {
private Engine engine;
//构造注入
public Car(Engine engine) {
this.engine = engine;
}
//设值注入
public void setEngine(Engine engine) {
this.engine = engine;
}
......
}
public class Engine {
......
}
组合关联:表示整体与部分的关联,但该关联中整体可以控制成员变量的生命周期,即整体与部分为同生共死的关系。
//组合关联
public class Head {
private Mouth mouth;
public Head() {
mouth = new Mouth(); //实例化成员类
}
......
}
public class Mouth {
......
}
这里就讲到关联关系……
参考文章:http://www.uml.org.cn/oobject/201211231.asp
以上是关于混沌Java---UML类图的主要内容,如果未能解决你的问题,请参考以下文章