一、依赖关系
一个类使用另一个类,出现在局部变量或者方法的参数里
public class Driver {
public void drive(Car car){
car.move();
}
}
public class Car {
public void move(){
System.out.println("car move.");
}
}
二、关联关系
有关联的两个类, 可以从一个类的对象得到另一个类的对象。
public class Company {
private Employee employee;
}
public class Employee {
}
三、聚合关系
聚合关系是关联关系的一种,耦合度强于关联,是“整体-个体”的相互关系。
public class Car {
private Engine engine;
public Car(Engine engine){
this.engine = engine;
}
public void setEngine(Engine engine){
this.engine = engine;
}
}
public class Engine {
}
四、组合关系
组合是聚合的一种形式,它具有更 强的拥有关系,强调整体与部分的生命周期是一致的,整体负责部分的生命周期的管理。生命周期一致指的是部分必须在组合创建的同时或者之后创建,在组合销毁 之前或者同时销毁,部分的生命周期不会超出组合的生命周期。
public class Head {
private Mouth mouth;
public Head(){
}
}
public class Mouth {
}
五、继承关系
父类和子类之间的关系,子类继承父类的所有结构和行为。
public class Person {
protected String name;
protected int age;
public void move(){
System.out.println("Person move.");
}
public void say(){
System.out.println("Person say.");
}
}
public class Student extends Person{
private int studentNo;
public void study(){
System.out.println("Student study.");
}
}
public class Teacher extends Person{
private int teacherNo;
public void teach(){
System.out.println("Teacher teach.");
}
}
六、实现关系
一个类实现了一个接口。
public interface Verhicle {
public void move();
}
public class Ship implements Verhicle{
@Override
public void move() {
System.out.println("Ship move.");
}
}
public class Car implements Verhicle{
@Override
public void move() {
System.out.println("Car move.");
}
}
强弱关系:依赖 < 关联 < 聚合 < 组合< 继承