这篇文章说的很明白,通俗易懂http://www.uml.org.cn/oobject/201211231.asp
下面是我的一些笔记
可见性 名称:类型
-name:String==private String name;
第一个矩阵是类名,第二个矩阵是类的成员变量,第三个矩阵是类的方法。
+==public
#==protected
-==private
1:关联关系
实现关联关系时,通常将一个类的对象作为另一个类的成员变量,本例中JButton只作为LoginForm的成员变量。
2:依赖关系
大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。本例中Driver类的方法drive()使用Car类的对象作为参数。
3:聚合关系
在聚合关系中,成员对象是整体对象的一部分,并且成员对象通常作为构造方法、Setter方法或业务方法的参数注入到整体对象中。本例中Engine类不仅作为Car类的成员变量,还作为Car类中方法的参数。
4:组合关系
在组合关系中,通常在整体类的构造方法中直接实例化成员类。
5:泛化关系
用于类的继承,java中跟extends相关联出现
public class Student extends Person.
6:接口与实现关系
用于类的实现,java中跟implements相关联出现
public class Car implements Vehicle
心得补充
1:聚合关系是关联关系+依赖关系
2:聚合关系和组合关系区别
在聚合关系中,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。
在组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在,成员对象与整体对象之间具有同生共死的关系。
暂时就这么多,以后有新的体会再补充。如果我的理解有误,请留言提醒。