zoukankan      html  css  js  c++  java
  • StarUML使用与类之间的关系

    StarUML使用

    今天学习设计模式的时候需要画UML类图,所以来学习一下这个软件

    软件界面

    image-20200920100555322

    绘图工具区

    image-20200920101009077

    类组件的基本操作

    image-20200920101551629

    功能介绍:

    1. 用来标识Class的可见性(默认为public)
    2. 用来添加note的,比如:类的说明
    3. 增加类的属性
    4. 增加类的操作方法。
    5. 增加模板参数
    6. 增加子类
    7. 增加父类
    8. 添加已有的接口
    9. 添加需要的接口
    10. 添加关联
    11. 添加聚合
    12. 添加组合
    13. 添加端口
    14. 添加部件
    15.增加Recption
    

    类的关系介绍

    1.依赖

    image-20200920102631210

    • 类中用到了对方

    • 可以是类的成员属性

    • 可以是方法的返回值类型

    • 可以是方法接受的参数类型

    • 可以是方法中使用到

    2.泛化(继承)

    image-20200920103103551

    • 泛化关系其实就是继承关系

    • 继承关系用空心三角形+实线来表示

    3.实现

    image-20200920103813373

    注意:

    • 一般情况下,实现接口用空心三角形+虚线来表示。
    • starUML用的是棒棒糖表示法,可能看起来不是很直观,但是确实是实现关系。
    • PersonService为斜体,表示抽象。

    4.关联

    关联关系实际上就是类与类之间的联系,他是依赖关系的特例

    关联具有导航性,即双向关系或单向关系

    关联具有多重性,如 "1"(表示有且只有一个),"0..."(0个或多个),"0,1"(表示0个或一个),"n...m"(表示n到m个都可以),

    "m...*"(表示至少m个)

    //单向一对一
    class IdCard {
    }
    class Person {
        private  IdCard idCard;
    }
    //多向一对一
    class IdCard {
        private Person person;
    }
    class Person {
        private  IdCard idCard;
    }
    

    image-20200920110637480

    • 关联关系用直线加箭头实现

    5.聚合

    聚合关系表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例。聚合表示一种弱的拥有关系。

    如:大雁是群居动物,每只大雁都属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合关系。

    体现的是A对象可以包含B对象,但B对象不是A对象的一部分,是has a的关系

    class WideGooseAggregate{
        //在雁群WideGooseAggregate类中,有大雁数组对象arrayWideGoose
        private WideGoose[] arrayWideGoose;
    }
    

    image-20200920110928796

    • 聚合关系用空心的菱形+实线箭头来表示

    6.组合(合成)

    也是整体与部分的关系,但是整体与部分不可以分开。是一种强的拥有关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。

    如:鸟和翅膀的关系,因为他们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的,合成关系用实心的菱形+实线箭头来表示。

    class Bird{
        private Wing wing;
        public Bird(){
            //在Bird类中,初始化时,实例化翅膀Wing,他们之间同时生成
            wing = new Wing();
        }
    }
    class wing{
        
    }
    

    image-20200920111745536

  • 相关阅读:
    缓存ehcache启动失败missing element type
    使用Shell发布Spring Boot程序
    从游牧民族价值观看程序员问题
    浏览器端的缓存localStorage应用
    基于进程的Quartz.NET管理系统QuartzService(一)
    ASP.NET WebAPI 15 CORS
    ASP.NET WebAPI 14 仿写Filter管道
    ASP.NET WebAPI 13 Filter
    ASP.NET WebAPI 12 Action的执行
    ASP.NET WebAPI 11 参数验证
  • 原文地址:https://www.cnblogs.com/gttttttt/p/13699195.html
Copyright © 2011-2022 走看看