下面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();
- }
- }