UML类图

246 阅读2分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

UML是一种统一建模语言

UML中的类图和时序图是比较重要的,开发中经常能看见。

Pasted image 20211231212013.png

图上一共有三层,第一层代表的是类,第二层是属性和字段,第三层是行为和方法 +表示public-表示private, #表示protected,~代表默认,带横线的就是静态的(static)。

Pasted image 20211231213045.png 这是一个比较完整的类图,注意上面walk方法是斜体说明方法是抽象方法,有了抽象方法,这个类也必须是抽象类, 所以类也是斜体。

对于属性:后面是属性的类型 对于方法:后面的是返回值

代码实现

/**
 * Person
 *
 * @author yang
 * @date 2021/12/31
 */
public abstract class Person {

    public String name;
    private int age;
    protected double weight;
    double height;
    public static char sex;

    public static void run(){}

    private void study(){}

    protected void eat(String food){}

    void sleep(){}

    public abstract void walk();

}

Pasted image 20211231215820.png 说明:图引用大话设计模式

依赖关系:通常是作用在方法上 关联关系:把关联的东西做为自己的属性

依赖关系与关联关系的区别

  • 依赖关系是用虚线而关联关系是用实线
  • 依赖关系他们之间的关系更弱(只有在需要的时候才会调用方法),关联关系他们之间的关系更强(直接注入了属性)

聚合关系:整体和局部,很多大雁组成大雁群 组合关系:整体和局部,一只鸟有两双翅膀

聚合关系与组合关系的区别

  • 聚合用的是空心,组合用的是实心
  • 聚合关系比组合关系生命周期不一样,组合更强,聚合跟弱。

大雁死了大雁群依然存在。鸟死了,翅膀自然就没用了。

继承类用的是实线和空心箭头 继承接口有两种方式

  • 虚线和空心箭头
  • 实线和圆,很像一个棒棒糖