UML在代码中的展现

依赖:一个类使用了另外一个类,这种关系是临时的、脆弱的。
如人需要过河,需要船,这时人.过河(船)  中船被当做参数传入,船的实现变化会影响过河方法。
 
 
聚合:体现是整体与部分、has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。
如公司与员工,一个员工可以脱离公司到其他公司成为员工,员工也可以单独存在,这里的依赖比较弱。
在代码中:
class Company{
     private staffArray:Staff[] = [];
     public addStaff(staff:Staff){
         this.staffArray.push(staff);
     }
}
 
 
组合:体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;
如人与大脑,大雁与翅膀,大雁类在实例化之前一定要先实例化翅膀,两个类紧密耦合在一起 它们有相同的生命周期 翅膀类(Wings)不可以脱离大雁类(Goose)而独立存在 
 
在代码中:
 
class Goose{
     public wings:Wings = null;
     constructor(){
          wings = new Wings();
     }
}

  

 

关系所表现的强弱程度依次为:组合>聚合>关联>依赖;

 
原文地址:https://www.cnblogs.com/xiaohaoxuezhang/p/6768296.html