依赖、关联、聚合、合成、泛化、实现依赖、关联、实现,见名知意;其他的呢,尤其是聚合于合成的区别,应该如何理解呢?多谢指教!!!

解决方案 »

  1.   

    聚合(Aggregation)关系是关联关系的一种,是强的关联关系。聚合是整体和个体之间的关系。例如,汽车类与引擎类、轮胎类,以及其它的零件类之间的关系便整体和个体的关系。与关联关系一种,聚合关系也是通过实例变量实现的。但是关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类是处在不平等层次上的,一个代表整体,另一个代表部分。 
    合成(Composition)关系是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分对象的生命周期,合成关系是不能共享的。代表整体的对象需要负责保持部分对象和存活,在一些情况下将负责代表部分的对象湮灭掉。代表整体的对象可以将代表部分的对象传递给另一个对象,由后者负责此对象的生命周期。换言之,代表部分的对象在每一个时刻只能与一个对象发生合成关系,由后者排他地负责生命周期。
      

  2.   

    泛化指的是给容器类指定包含的指定对象类型
    比如Set 
    Set<String> set = new HashSet()<String>;
    set.add("abc");//正确
    set.add(123);//错误
    因为你已经指定对象的类型为String
    希望对你有用 
      

  3.   

    聚合
    聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期, 部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来 区分;合成
    合成也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此 时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区 分;
      

  4.   

    依赖、关联、聚合、合成、泛化、实现 
    1.泛化就是我们最常用的继承关系啦.这个不用多说了.
    2.依赖关系是指一个类A对别一个类B的依赖,如果类B去掉的话,会对类A造成影响的.
    3.关联关系有点边界模糊和依赖有点像,但又完全不像。关联是指一个类用到了另外的一个类,但不依赖。
    4.聚合是一种单向关系,聚合与关联的区别在于聚合的两个类之间的关系在概念层次上不是一个级别的,一般来说聚合中的类关系总是一个类比别一个类要高级一些,而关联基本上是平级的
    public class Car
    {
      public Engine engine;
      public Wheel wheel;
    }public class Engine
    {
    }public class Wheel
    {
    }5.合成是一种特殊的聚合形式,它是提类与类之间的联系是非常密切的,少了那一个也不行。打个比方,人的脑袋,四肢,躯干.这是一种聚合关系.少了哪个都不行.
    6.简单的说就是接口,这个没必要说了.相信一说接口都清楚.
      

  5.   

    把UML看一下就知道怎么回事儿了(其实看完了,也不尽然能全部了解,因为这里许多关系都是在另一个关系的基础上更加特殊化了)你可以看看java与模式这本书里的uml这章,反正我是看完了就忘记了。感觉这东西太纠缠了,没有太大的意义。
      

  6.   

    这东西只可意会不能言传,整本UML的书看看它上面的图好理解一些