关于类关系中依赖、关联、聚合、组合之间的区别

2017-09-28  本文已影响43人  jtsky

定义

代码展示

依赖

class Car {  
    public static void run(){  
        System.out.println("汽车在奔跑");  
    }  
}  
   
class Driver {  
    //使用形参方式发生依赖关系  
    public void drive1(Car car){  
        car.run();  
    }  
    //使用局部变量发生依赖关系  
    public void drive2(){  
        Car car = new Car();  
        car.run();  
    }  
    //使用静态变量发生依赖关系  
    public void drive3(){  
        Car.run();  
    }  
}

关联

class Driver {  
    //使用成员变量形式实现关联  
    Car mycar;  
    public void drive(){  
        mycar.run();  
    }  
    ...  
    //使用方法参数形式实现关联  
    public void drive(Car car){  
        car.run();  
    }  
}

聚合

class Driver {  
    //使用成员变量形式实现聚合关系  
    Car mycar;  
    public void drive(){  
        mycar.run();  
    }  
}

组合

//为了表示组合关系,常常会使用构造方法来达到初始化的目的
public Driver(Car car){  
    mycar = car;  
}

总结

一般来说依赖、关联、聚合、组合四中关系中,类的关系是依次增强的,如果只给出一段代码,我们是无法判断是关联、聚合、组合的,往往需要结合上下文来判断,二依赖关系则相对来说比较好判断一点。

上一篇 下一篇

猜你喜欢

热点阅读