UML类图 关系

  UML (Unified Modeling Language  )统一建模语言是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的结果

  UML类图关系: 泛化、关联、聚合、组合、依赖、实现 

  1、泛化关系(generalization):泛化的关系是从子类指向父类的,与继承或实现的方法相反;继承的关系:类与类之间的继承关系,接口与接口之间的继承关系;实现关系:类对接口的实现关系,泛化是依赖关系的特例

  2、关联关系(association):对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系,关联关系是类与类之间的联系,它是依赖关系的特例

class Person {
}

class Friend{
    Person mpPerson;
}
View Code

  3、聚合关系(aggregation):是关联关系的一种,是强的关联关系,聚合是整体和个体的关系,聚合关系也是通过实例变量实现的,是“has-a”关系,聚合关系涉及的两个对象处于不平等的层次上,一个代表整体,一个代表部分,聚合关系是关联关系的特例

  4、组合关系(合成关系)(composition):是关联关系的一种,是比聚合关系更强的关系,表示类之间整体和部分的关系,组合关系中部分和整体具有统一的生存期是“contains-a”关系

  5、依赖关系(Dependency):对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系,依赖关系是以参数变量的形式传入到依赖类中的,依赖是单向的,只要在类中用到了对方,那么它们之间就存在依赖关系,如果没有对方,连编译都通过不了

  以关系所表现的强弱程度依次为: 组合 > 聚合 > 关联 > 依赖

  6、实现关系(Realization):A类实现了B类,是依赖关系的特例

  

  Eclipse可以安装AmaterasUML插件来建模:安装,GEF - http://download.eclipse.org/tools/gef/updates/releases/,出现的选项全选;将AmaterasUML的3个jar包拷到Eclpise的plugins文件下;重启Eclipse,结果在file-new-other看到AmaterasUML

  新建 .cld文件,将工程中的 java 文件拖拽到.cld文件视图中,AmaterasUML瞬间帮我们生成了这三个类的关系图

  类图描述类与类之间的关系的,是UML图中最核心的

 

原文地址:https://www.cnblogs.com/GoldenEllipsis/p/15409864.html