您的位置:首页 > 其它

UML 类图中4种关系总结

2013-06-13 09:23 337 查看
下面4种关系总结

1.泛化

2.聚合

3.依赖

4.关联

1.泛化

就是 父类与子类之间的集成关系

[具体表现]

父类父类实例=new子类()

[UML图](图1.1)





图1.1Animal类与Tiger类,Dog类的泛化关系

[代码表现]

[代码表现]

java代码

 

classAnimal{}  
 
classTigerextendsAnimal{}  
 
publicclassTest  
{  
publicvoidtest()  
{  
Animala=newTiger();  
}  
}  
 

2.聚合关系

就包含、集成,不是继承。

比如张三的电脑被偷了,那么电脑的所有组件也不存在了,除非张三事先把一些电脑的组件(比如硬盘和内存)拆了下来。

[UML图](图1.4)





图1.3电脑和组件的聚合关系

[代码表现]

java代码

 

publicclassComputer{  
privateCPUcpu;  
publicCPUgetCPU(){  
returncpu;  
}  
publicvoidsetCPU(CPUcpu){  
this.cpu=cpu;  
}  
//开启电脑  
publicvoidstart(){  
//cpu运作  
cpu.run();  
}  

3.依赖

就是需要其他对象或是砬

[具体表现]

依赖关系表现在局部变量,方法的参数,以及对静态方法的调用

[现实例子]

比如说你要去拧螺丝,你是不是要借助(也就是依赖)螺丝刀(Screwdriver)来帮助你完成拧螺丝(screw)的工作





[UML表现](图1.2)

图1.2Person类与Screwdriver类的依赖关系

[代码表现]

java代码

 

publicclassPerson{  
/**拧螺丝*/  
publicvoidscrew(Screwdriverscrewdriver){  
screwdriver.screw();  
}  
}  

4.关联

不属于上面的关系时,两个实体有有一些特定关系,为关联

[具体表现]

关联关系是使用实例变量来实现

[现实例子]

比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司

[UML图](图1.3)





图1.3公司和员工的关联关系

[代码表现]

java代码

 

publicclassCompany{  
privateEmployeeemployee;  
publicEmployeegetEmployee(){  
returnemployee;  
}  
publicvoidsetEmployee(Employeeemployee){  
this.employee=employee;  
}  
//公司运作  
publicvoidrun(){  
employee.startWorking();  
}  
}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: