泛化关系:泛化关系就是类和类之间的继承,接口和接口之间的继承。 泛化关系反应的是现实生活中的父子关系。
class A{}
class B extends A{}
interface C{}
interface D{}
interface E extends C,D{
}
实现关系:实现关系说的还是继承。只不过反应是类和接口的关系。 一个类可以实现多个接口。
interface A{}
interface B{}
interface C{}
class D implements A,B,C{
}
关联关系:描述的是现实世界中的朋友关系。 A has a B; 通常体现在实例变量上。
1>单向关联
单向关联(只能通过A找到B)
class A{
B b;
}
class B{
}
2>双向关联
A--->B
B--->A
class A{
B b;
}
class B{
A a;
}
3>聚合关联
聚合关系是特殊的关联关系。聚合关系通常描述的是 整体和部分之间的关系。
例如:学校和学生的关系就是聚合关系。
聚合关系中整体的生命周期不会决定部分的生命周期。
注意:School和List之间是关联关系。
School和Student之间是聚合关系。
class Student{
}
class School{
//集合
List<Student> stus;
}
4>合成关系
合成关系是特殊的聚合关系。 合成关系更加紧密一些,整体决定部分的生命周期。
机器和List是关联关系。
机器和零件是合成关系。
class Part{
}
class machine{
List<Part> part;
}
依赖关系:
A和B是依赖关系。
通常这种关系体现在局部变量上
public class A {
public void m1(){
B b;
}
}
class B{
}