关联关系(实线箭头)
是一种结构化关系,表示一类对象与另一类对象之间有联系。Java,c++,c#等编程语言在实现关联关系时,通常将一个类的对象作为另一个类的属性
- 双向关联
- 单向关联
- 自关联
- 多重性关联
聚合关系(带空心菱形的实线箭头)
表示一个整体与部分之间的关系,在聚合关系中成员类是整体类的一部分,即成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在
public class Car{
private Engine engine;
public Car (Engine engine){
this.engine = engine;
}
public void setEngine(Engine engine){
this.engine = engine;
}
}
public class Engine{
......
}
Engine是Car的一部分,但是Engine可以脱离Car单独存在,在Car中不直接实例化Engine,而是通过构造方法或者setter方法将在类外部实例化好的Engine对象以参数的形式传入到Car中,这种传入方法叫注入(Injection),Car和Engine实例化时刻不同,因此他们之间不存在生命周期的制约关系。
组合关系(带实心菱形的实线箭头)
表示整体与部分之间的关系,但是整体与部分是共同生死的关系.
public class Head{
private Mouth mouth;
public Head(){
mouth = new Mouth();
}
}
public class Mouth{
.......
}
head中直接创建了mouth对象,同生共死,拥有相同的生命周期
依赖关系(虚线箭头)
是一种使用关系,在需要表示一个事物使用另一种事物时使用依赖关系。依赖关系体现在某个类的方法使用另一个类的对象作为参数,又依赖的一方指向被依赖的一方。
public class Driver{
public void drive(Car car){
car.move();
}
}
public class Car{
public void move(){
......
}
}
泛化关系(带空心三角的实线箭头)继承关系
标签:关系,Engine,Car,类图,class,engine,UML,public From: https://www.cnblogs.com/sorrymine/p/17371401.html接口与实现关系(带空心三角的虚线箭头)