UML类图

关联

关联类之间的关系是平等的,这与聚合、组合有不同。其中一个类作为另一个类的成员变量,默认情况下时双向关联的。如果时单向关联,需要由箭头指向被包含方

单向关联

UML表示为:
这里写图片描述
Java代码表示:

public class Customer{
	private Address address;
	/*
	.......
	*/
}

public class Address{
	/*
	......
	*/
}

双向关联

UML表示为:
这里写图片描述
两个类之间相互包含。但是关系是平等的。

public class Customer{
	// 一个顾客购买多个产品
	private Product product[];
	/*
	.......
	*/
}

public class Product{
	// 购买该产品的顾客有多个
	private Customer customer[];
	/*
	......
	*/
}

自关联

自己包含自己。是一个递归的定义。比如搜索树中的结点之间的关系。
UML标识为:
这里写图片描述
Java代码

public class Node{
	private Node subNode[];
	/*
	.....
	*/
}

聚合

表示整体与部分的关系。一般是确定了整体类再去分析整体类的组成结构,最后得出成员类。成员类与整体类的关系不平等,整体类是由成员类聚合而成。注意:成员类离开了整体类可以单独存在!
UML表示:
这里写图片描述
Java代码:

public class Car{
	private Engine engine;
	/*
	.....
	*/
}

public class Engine{
	/*
	.....
	*/
}

引擎离开了发动机可以单独存在。

组合

类之间整体与部分的关系,但是部分与整体有相同的生存周期,部分不能离开整体而单独存在!!
UML表示:
这里写图片描述
Java代码:

public class Head{
	private Mouth mouth;
	Head(){
		mouth=new Mouth();
	}
	//......
}

public class Mouth{
	//......
}

嘴离开了头没有意义。

依赖

表示一种使用关系,它不是组成或者聚合,而是一个类中使用了另一个类。特定的类改变可能会影响使用该类的类。多数情况下,依赖关系体现在一个类某个方法使用另一个类作为参数,而被使用类不是使用类的成员
UML表示:
这里写图片描述
Java代码:

public class Driver{
	public void drive(Car car){
		car.move();
	}
	// .....
}

public class Car{
	public void move(){
		// ......
	}
	//.......
}

在这里,Driver类没有把Car作为成员,很明显,司机不能由车组成。。。。但是,司机必须要使用汽车,因此传入汽车作为参数。

继承

又称为泛化关系。。及不在赘述了。。
UML表示:
这里写图片描述
Java代码

public class Animal{
	
}

public class Dog extends Animal{
	
}

接口与实现关系

一个类实现了一个方法。
UML表示:
这里写图片描述
Java代码:

public interface Vehicle{
	public void move();
}

public class Car implements Vehicle{
	public void move(){
		// ....
	}
	// ....
}

public class Ship implements Vehicle{
	public void move(){
		// ....
	}
	// ....
}

综合应用

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值