0.(下)UML类图常用符号

1.继承 Generalization

  • 表达父类与子类的关系:is-a
  • 形象说明:小狗继承与动物,符合里氏替换的原则
  • 应用场景:MainActivity也是使用了继承
    在这里插入图片描述

2.实现 Realization

  • 表示接口与实现类的关系:can-do
  • 形象说明:小狗实现了狗叫接口
  • 应用场景:访问者模式中的一个例子
    在这里插入图片描述

3.关联 DirectedAssociation

  • 类与类之间的一种对应关系,可以是单向的,也可以是双向的:links-a
  • 形象说明:公司可以使用员工,员工也可以获取公司的福利
    在这里插入图片描述

4.聚合 Aggregation

  • 关联关系的一种,表示整体与部分的关系,暂时组装的关系:has-a

  • 形象说明:学校与学生为聚合关系,学生聚合到学校,学校消失了,学生还存在,学生完全可以去另一个学校继续上学
    在这里插入图片描述
    应用场景:策略模式中,CalculatorContext与Istrategy为聚合关系
    在这里插入图片描述

// 策略模式CalculatorContext弱拥有IStrategy策略对象
public class CalculatorContext {
    private IStrategy mStrategy;

    public void setStrategy(IStrategy strategy) {
        this.mStrategy = strategy;
    }

    public int calculatePrice(int distance) {
        return mStrategy.calculatePrice(distance);
    }
}

5.组合 Composition

  • 关联关系的一种,比聚合更强的关系,整体与部分具有统一的生存期:contains-a

  • 形象说明:学校与年级为组合关系,学校消失了,年级就不会存在,二者完成不可分
    在这里插入图片描述

6.依赖 Dependency

  • 一个类用到另一个类,通常是单向关系:depends-a
    表现形式: 方法参数,局部变量
  • 形象说明:人给小狗洗澡,小狗作为参数传入
  • 应用场景:工厂方法设计模式中,具体工厂依赖具体产品
    在这里插入图片描述
发布了37 篇原创文章 · 获赞 0 · 访问量 561

猜你喜欢

转载自blog.csdn.net/qq_37514242/article/details/103834613