类之间的关系

来源:互联网 发布:二次元站源码 编辑:程序博客网 时间:2024/03/28 17:01

泛化关系:泛化关系就是类和类之间的继承,接口和接口之间的继承。 泛化关系反应的是现实生活中的父子关系。

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{

}



原创粉丝点击