乐趣区

关于java:面向对象类之间的关系

1,关联关系 (Dependence)

关联体现的是两个类之间语义级别的一种强依赖关系,有时也被称为“相识”或“援用”关系。这种关系比依赖更强、不存在依赖关系的必然性、关系也不是临时性的,个别是长期性的,而且单方的关系个别是平等的。关联能够是单向、双向的。

例:

class Employee{
     private int eid;// 员工编号
     private String name;// 员工姓名
private Computer coumputer;// 员工所应用的电脑
//....
}
class Computer{}

依赖关系有三种状况:

1)A 类是 B 类办法当中的一个参数;
2)A 类是 B 类中的(某中办法的)局部变量;
3)A 类向 B 类发送音讯,从而影响 B 类发生变化;

2,泛化关系(Generalization)

示意类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的。

例:

public class Person 
 {
    protected String name;
    protected int age;
    public void move() 
    {……}
    public void say() 
    {……}
 }
 public class Student extends Person 
 {
    private String studentNo;
    public void study() 
    {……}
}

3,依赖关系 (Dependence)

依赖就是一个类 A 应用到了另一个类 B,而这种应用关系是具备必然性的、临时性的、十分弱的,然而类 B 的变动会影响到类 A。比方人出行须要坐车,这时候人和车之间的关系就是依赖。

例:

class A{public B method(C c,D d){E e = new E();
... 
B b = new B();
... 
return b; } }

4,聚合关系(Aggregation)

合是关联关系的一种特例,它体现的是整体与局部的关系。整体与局部之间是可拆散的,它们能够具备各自的生命周期,局部能够属于多个整体对象,也能够为多个整体对象共享。比方公司和员工的关系,汽车类与引挚类,轮胎类之间的关系等等。

例:

class Car{
private Engine engine;// 引擎
private Tyre[] tyres;// 轮胎}

5,组合关系(Composition)

组合也是关联关系的一种特例,这种关系比聚合更强,也称为强聚合。它同样体现整体与局部间的关系,但此时整体与局部是不可分的,整体的生命周期完结也就意味着局部的生命周期完结。

例:

class Window{
private Menu menu;// 菜单 
private Slider slider;// 滑动条
private Panel panel;// 工作区
}

6,实现关系(Implementation)

用来规定接口和实线接口的类或者构建构造的关系,接口是操作的汇合,而这些操作就用于规定类或者构建的一种服务。

退出移动版