泛化、聚合、组合、依赖

泛化(Genaralization)

  在上图中,空心的三角表示继承关系(类继承),在UML的术语中,这种关系被称为泛化(Generation)。Person(人)是基类,Teacher(教师),Student(学生),Gust(来宾)是子类。

  若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都有意义,则允许B继承A的功能和属性。

  例如,教师是人,Teacher是Person的“一种”(a Kind of)。那么类Teacher可以从类Person派生(继承)。

  如果A是基类,B是A的派生类,那么B将继承A的数据和函数。

  如果类A与类B毫不相干,不可以为了使B的功能多些而让B继承A的功能和属性。

聚合(组合):

  若在逻辑上A是B的'一部分"(a part of),则不允许B从A派生,而是要用A和其他东西组合出B。

  聚合的类型分为无,共享(聚合),复合(组合)三类。

聚合(aggregation):

  聚合的意义表示has-a关系。聚合是一种相对松散的关系,聚合类B不需要对聚合A类负责。

组合(composition):

  更为坚固的关系---组合(composition)(聚合类型为复合)。组合表示的关系也是has-a,不过这里,A的生命周期受B的控制。

依赖(Dependency):

  如果A被修改,那么类B会受到影响。

原文地址:https://www.cnblogs.com/QoQian/p/4833640.html