• UML--类图的表示


    1. 类的表示

    1.1 访问属性

    +: public
    -: private
    #: protected

    1.2 接口与抽象类

    斜体 表示抽象类和抽象方法
    <> 类表示接口

    1.3 类图示意

    Mclass
    - val: int
    + getVal(): int

    2. 类关系

    2.1 实现关系

    空心三角形和虚线组成
    B实现A,则三角形尖尖朝向A,在三角形底边引一条虚线再连接B。

    2.2 泛化关系

    is a关系, 继承关系。
    B继承A,则三角形尖尖朝向A,在三角形底边引一条实现线再连接B。

    2.3 依赖关系

    use a关系

    弱关联关系: 对象A用到对象B, 但是和B的关系不是太明显的时候,就是依赖关系。

    用一个虚线箭头表示,A使用了B, 则使用虚线箭头指向B。

    代码1:

    public class B {
        
        public String field1;
        
        public void method1() {
            System.println("在类B的方法1中");
        }
        
        public static void metho2() {
            System.out.println("在类B的静态方法2中");
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    代码2:

    public class A {
        public void method1() {
            B b = new B();
            b.method1();
        }
        
        public void method2() {
            B.method2();
        }
        
        public void method3(B b) {
            String s = b.field1;
        }
        
        public B method4() {
            return new B();
        }
        
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    2.4 聚合关系

    聚合就是整体与部分的关系,即has a关系。
    用一个空心菱形和实线箭头表示。

    A由于B、C聚合而成,则由A引申一个空心菱形,在引入线连接到B、C。

    实例1:汽车类和汽车驾驶员

    class CarClass {
        String carName;
        int carId;
        CarClass (String name, int id )
        {
            this.carName = name;
            this.carId = id;
        }
    }
    
    class Driver extents CarClass {
        String driverName;
        Driver(String name, String cname, int cid) {
            super(cname, cid);
            this.driverName = name;
        }
    }
    
    class TransportCompany {
        public static void main(String args[])
        {
            Driver obj = new Driver("Andy", "Ford", 9988);
            System.out.println(obj.driverName + "is a driver of car Id: " + obj.carId);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    2.5 组合关系

    组合比聚合更强,部分与整体的生命周期一致。
    用一个实心菱形和实线箭头表示。

    A由于B、C组合而成,则由A引申一个实心菱形,在引入线连接到B、C。

    2.6 关联关系

    关联关系比组合关系要弱,通过他们对象本身。一对一,一对多,多对多。

    用实线箭头来表示,A关联B则用A指向B。

    2.7 聚合、组合、关联区别

    关联是两个类之间的关系,可以是一对一,一对多,多对多。
    聚合则是一种单向的关系,比如钱包和钱,一个实体可以脱离另外一个实体的存在而存在。钱没了不表示钱包就没了。
    组合关系则表示两个实体强关联,像人和心脏一样。

  • 相关阅读:
    Linux运维实战:CentOS7.6操作系统从入门到精通(16-18)
    HBuilderX自定义编辑器代码颜色
    frp实现内网穿透
    Kafka - Broker 详解
    激活函数作用以及 sigmoid和softmax
    一三六、从零到一实现自动化部署
    2022-09-05 符号位、浮点数、原码、补码、反码、移码
    linux篇【11】:linux下的线程<后序>
    SpringBatch(1): SpringBatch入门
    基于javaweb的电力设备监测管理系统(servlet+jsp)
  • 原文地址:https://blog.csdn.net/bdn_nbd/article/details/134236048