小解UML中关联、聚合、依赖(简易区分)
说明:本帖目的是使读者快速简易理解三者关系,并非详解概念,所以有难免疏漏之处(部分内容来源网络)。
一、相关概念
1.关联:关联关系(Association):类之间的联系,如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单,再如篮球队员与球队之间的关联(下图所示)。

public class Customer
{ private Product[] products; ……
}
public class Product
{ private Customer customer; ……
}
2 ) 单向关联: 类的关联关系也可以是 单向的 ,单向关联用 带箭头的实线 表示.
public class Customer
{ private Address address; ……
} public class Address
{ ……
}
3) 自关联: 在系统中可能会存在 一些类的属性对象类型为该类本身,这种特殊的关联关系称为自关联。
public class Node
{ private Node subNode; ……
} 2.聚合:
表示的是整体和部分的关系,
整体与部分
可以分开.
• 聚合关系(Aggregation) 表示一个 整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构,从而找出一些成员类,该整体类和成员类之间就形成了聚合 关系。
• 在聚合关系中, 成员类是整体类的一部分 ,即成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。 在 UML 中,聚合关系用带空心菱形的直线表示。
public class Car
{ private Engine engine; public Car(Engine engine) { this.engine = engine; } public void setEngine(Engine engine) { this.engine = engine; } ……
}
public class Engine
{ ……
}
3.依赖: 假设 A 类的变化引起了 B 类的变化,则说名 B 类依赖于 A 类。
依赖关系有如下三种情况:
1)、A类是B类中的(某中方法的)局部变量;
2)、A类是B类方法当中的一个参数;
3)、A类向B类发送消息,从而影响B类发生变化;
二、区别
1.关联和聚合的区别
这个主要体现在整体部分观念上。能明确总结出一个类是另一个类的一部分,就是聚合。
2.关联和依赖的区别
关联一般是一个类的对象是另一个类的属性。另外依赖一般仅有有上述三个特点。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
