关联
public class Brand {
}
public class Car {
private Brand brand;
}
双向关联
public class Customer {
private List<Product> products;
}
public class Product {
private Customer customer;
}
聚合
聚合强调包含,即一个对象是另一个对象的组成部分
public class Engine {
}
public class Car {
private Engine engine;
private Wheel wheel;
}
组合
聚合也是强调包含,即一个对象是另一个对象的组成部分。与聚合的区别是,被聚合的对象可以独立存在,而被组合的对象不能独立存在
class Mouth{
}
class Head{
private Mouth mouth;
}
依赖
class Driver {
public void drive(Car car);
public void pay() {
Bill bill = new Bill();
...
}
}
class Car {
}
class Bill {
}