设计模式前站——UML类图

swimmer000 2020-03-27

符号表示访问权限:

+表示public

-表示private  

#表示protected 

~表示default,也就是包权限  

_下划线表示static  

斜体表示抽象

类之间关系:类与类一共有如下几种关系:继承(Generalization)、实现(Realization)、依赖(Dependence)、关联(Association)、聚合(Aggregation)、组合(Composition)。

继承:三角形+实线【三角是父类】

实现:三角形+虚线【三角是接口】

依赖:箭头+虚线【箭头是局部变量,或方法参数,对静态方法调用】

关联:箭头+实线 【箭头一方是成员变量】

聚合:空心菱形+实线箭头【菱形一方为整体】

组合:实心菱形+实线箭头【菱形一方为整体】

1、继承关系

设计模式前站——UML类图

继承关系用三角形+实线表示,方向从子类指向父类。

2、实现关系

实现是类与接口的一种关系,类实现接口的所有特征与行为。接口有标识<<interface>>

设计模式前站——UML类图

 实现关系用三角形+虚线表示,方向从类指向接口。

3、依赖关系

依赖关系是一种弱的使用的关系, 即一个类的实现需要另一个类的协助。

依赖关系用箭头+虚线表示,方向从依赖类指向被依赖类。

设计模式前站——UML类图

 代码体现在局部变量、方法的参数或者对静态方法的调用

public class Animal {

    public int lives;

    public void breeding() {

        if (lives > 0) {

            System.out.println("我要繁殖啦~");

        }

    }

    //新方法,新陈代谢

    public void metabolism(Oxygen o, Water w) {

        System.out.println("新陈代谢需要" + o.toString() + "和" + w.toString());

    }
}

4、关联关系

关联关系比较常见,是一种强的、稳定的、持久的关系, 它使一个类知道另一个类的属性和方法。

设计模式前站——UML类图

 关联关系用箭头+实线表示。方向从关联类指向被关联类。

代码体现在成员变量(气候是企鹅类的成员变量)中

5、聚合关系

聚合关系表示部分与整体的一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。

设计模式前站——UML类图

 聚合关系用空心菱形+实线箭头表示,菱形顶端为整体。

代码体现在成员变量中,可以通过构造方法传递依赖,也可通过setter方法传递依赖。

public class WideGooseAggregate {private WildGoose[] arrayWideGoose = new WildGoose[3];

    public WideGooseAggregate(){
        arrayWideGoose[0] = new WildGoose();
        arrayWideGoose[1] = new WildGoose();
        arrayWideGoose[2] = new WildGoose();
    }

    public void vFly() {
        System.out.println("V型飞行");
        for (WildGoose wGoose : arrayWideGoose) {
            wGoose.flyaway();
        }
    }


    public void hFly() {
        System.out.println("一型飞行");
        for (WildGoose wGoose : arrayWideGoose) {
            wGoose.flyaway();
        }
    }
}

6、组合关系

组合关系表示部分与整体的一种强的拥有关系,体现为严格的部分和整体关系,部分和整体的生命周期一样。

设计模式前站——UML类图

 组合关系用实心菱形+实线箭头表示,菱形顶端为整体。

代码体现在成员变量

设计模式前站——UML类图

相关推荐

swimmer000 / 0评论 2020-05-29