UML六大关系有:继承、关系、聚合、组合、实现、依赖。分为通过图和代码总结这些关系。
1、继承
class Bird:Animal
{
}
说明:一段都是子类继承父类,在子类的后面用一个冒号表示,冒号后面跟着父类的名字。继承只能继承父类共有和保护的属性或方法,私有的变量或方法不能被子类继承。
2、关联
Class Penguin
{
private Climate climate;//关联
}
说明:关联关系在代码中体现在集合、数组传值等方面。传值的话,需要提前定义全局变量。
3、聚合
class WideGooseAggregate //雁群
{
private Wide Goose[] arrayWideGoose;
}
聚合是关联的一种体现方式。也可以说聚合是基于关联基础上的。
4、组合
class Bird
{
private Wing wing;
Public Bird()
{
wing=new Wing();
}
}
说明:组合也是关联的一种体现方式。是基于关联的基础上的。一个类是另一个
类的一部分,所以最明显的就是在一个类中实例化另一个类,比如在鸟的类中实例化翅膀类。
5、接口
class WildGoose:IFly
{
}
6、依赖
class OperationFactory
{
public static Operation createOperate()//依赖
{
}
}
强弱关系:继承>接口>组合>聚合>关联>依赖
总结
-
关联关系:关联关系是指两个类之间存在着某种关联,表示一个类知道另一个类的存在。关联关系可以是双向的,也可以是单向的,可以是一对一的,也可以是一对多的。关联关系可以用实线箭头表示。
-
聚合关系:聚合关系是一种强关联关系,表示整体与部分之间的关系。整体对象包含了部分对象,但部分对象可以存在独立于整体对象的情况。聚合关系可以用空心菱形箭头表示。
-
组合关系:组合关系是一种更强的聚合关系,表示整体对象包含了部分对象,且部分对象不能存在独立于整体对象的情况。组合关系可以用实心菱形箭头表示。
-
继承关系:继承关系是一种类之间的关系,表示一个类(子类)继承了另一个类(父类)的属性和方法。子类可以拥有父类的所有特性,并且可以在此基础上进行扩展或修改。继承关系可以用实线箭头加空心三角形表示。
-
实现关系:实现关系是一种接口与类之间的关系,表示一个类实现了一个或多个接口的方法。实现关系可以用虚线箭头加空心三角形表示。
-
依赖关系:依赖关系是一种类之间的关系,表示一个类使用了另一个类的方法或属性,但两个类之间没有直接的关联。依赖关系可以是临时的,也可以是持久的。依赖关系可以用虚线箭头表示。
总之,UML中的六大关系包括关联关系、聚合关系、组合关系、继承关系、实现关系和依赖关系。了解和理解这些关系对于软件设计和系统建模都具有重要意义