ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

详细介绍一下UML类图

2020-03-10 21:04:09  阅读:204  来源: 互联网

标签:关系 Head 聚合 类图 接口 class 详细 UML public


下面详细的介绍一下UML类图

  1. 注释(comment)
    注释就是对类图的补充说明,可以附加在任何元素上,用右上角有折角的矩形来表示,其内放置说明文字,通过虚线连接被注释的元素。
    注释
  2. 类(Class)
    在面向对象(OO) 编程中,类是对现实世界中一组具有相同特征的物体的抽象。在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示:类
    类的属性的完整表示方式:可见性 名称 :类型 [ = 缺省值]其中括号中的内容表示是可选的
    类的方法的完整表示方式:可见性 名称(参数列表) [ : 返回类型]其中括号中的内容是可选的。
  3. 接口(Interface)
    接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。
    在UML中,接口有两种表示方式:
    普通接口表示法(飞翔);
    棒棒糖表示法(讲人话),使用一个带有名称的小圆圈来表示,在旁边写上相应接口名称,没有具体接口方法。
    接口
  4. 类与类之间的关系(relation) 在UML类图中,常见的有以下几种关系:
    (1)依赖;(2)关联;(3)继承;(4)实现;(5)聚合;(6)组合
    下面是他们的表示方法:
    关系
    (1)依赖关系
    只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,编绎通过不了。 如果A类用到了B类 ,则A依赖于B, 没有B,A编译也不通过。依赖关系
    (2)关联关系
    关联关系实际上就是类与类之间的联系,是依赖关系的特例。
    关联具有导航性:即双向关系或单向关系
    关系具有多重性:
    “1”(表示有且仅有一个),
    “0…”(表示0个或者多个),
    “0,1”(表示0个或者1个),
    “n…m”(表示n到 m个都可以),
    “m…*”(表示至少m 个)。
    单向
    双向
    (3)继承关系
    继承关系也称泛化关系,是依赖关系的特例。 A类继承了B类也相当于A类用到了B类。
    在这里插入图片描述
    (4)实现关系
    实现关系实际上就是A类实现B接口,是依赖关系的特例,依赖关系更强。
    实现
    (5)聚合关系
    聚合关系表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。
    聚合
    导航性:A聚合到B
    多重性:B聚合一个A——单聚合;B里面可以聚合多个A——多重聚合
    (6)组合关系
    组合关系:也是整体与部分的关系,但是整体与部分不可以分开。
    组合1
    public class Person{
    private IDCard card; //聚合
    private Head head = new Head(); //组合
    }
    public class IDCard{}
    public class Head{}
    1
    public class Person{
    private IDCard card = new IDCard(); //组合
    private Head head = new Head(); //组合
    }
    public class IDCard{}
    public class Head{}
    2
  5. 各种关系间的联系
    联系
    就简单介绍这些,自己学的也不是特别好,希望可以一点点摸索,慢慢进步。

标签:关系,Head,聚合,类图,接口,class,详细,UML,public
来源: https://blog.csdn.net/qq_43774908/article/details/104782007

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有