设计模式前站——UML类图

符号表示访问权限:

+表示public

-表示private  

#表示protected 

~表示default,也就是包权限  

_下划线表示static  

斜体表示抽象

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

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

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

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

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

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

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

1、继承关系

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

2、实现关系

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

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

3、依赖关系

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

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

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

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、关联关系

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

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

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

5、聚合关系

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

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

代码体现在成员变量中,可以通过构造方法传递依赖,也可通过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、组合关系

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

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

代码体现在成员变量

原文地址:https://www.cnblogs.com/erlongxizhu-03/p/12584138.html

时间: 2024-11-07 20:20:58

设计模式前站——UML类图的相关文章

设计模式之UML类图的常见关系

设计模式之UML类图的常见关系 本文来自转载 烧点饭博客 本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition). 1.泛化关系 泛化关系是继承或实现的关系,是is a关系,具体表现为类与类的继承,接口与接口的继承,类对接口的实现关系. 2.依赖关系 依赖关系表示为一个类使用另一个类,这种使用关系是具有偶然性的.临时性的.非常弱的,一个类的变化会影

设计模式前言——UML类图

设计模式前言--UML类图 一.UML类图 1.类 类(Class)封装了数据和行为,是面向对象的重要组成部分,是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分.在软件系统运行时,类将被实例化成

设计模式之UML类图

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 之前,在工厂方法模式中画的图,不是很严格的符合UML类图,所以今天特地看了一下UML类图,下面内容大部分摘自"大话设计模式". UML的基本图示法 UML类图图示样例 类图: 如上图,矩形框就代表一个类(Class).分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示.第二层是为类的特性,通常就是字段和属性.第三层是类的操作,通常是方法或行为.注意前面的的符号,

23种常用设计模式的UML类图

本文UML类图参考<Head First 设计模式>(源码)与<设计模式:可复用面向对象软件的基础>(源码)两书中介绍的设计模式与UML图. 整理常用设计模式的类图,一方面是为了练习UML,另一方面可以重新思考设计模式.当然,整理完成后可以作为一份手册供今后翻阅. 绘图工具:Visual Studio 2015 一.创建型 Factory Method(工厂方法) 定义:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个.工厂方法让类把实例化推迟到子类. 类图: Abstr

设计模式之UML类图以及类间关系

类图是描述系统中的类,以及各个类之间的关系的静态视图.能够让我们在正确编写代码以前对系统有一个全面的认识.类图是一种模型类型,确切的说,是一种静态模型类型.类图表示类.接口和它们之间的协作关系. 以下类图都是用 Visio 画的,因为这学期体系结构老师的实验报告强制使用这个软件画图. 类图的组成 普通类 一个类图由三部分组成. 第一部分是类名: 第二部分是属性,即成员变量.格式为:可见性 属性名称:类型[ = 缺省值]. 第三部分是操作,即方法.格式为:可见性 方法名称(参数列表)[ : 返回类

设计模式之序章-UML类图那点事儿

设计模式之序-UML类图那点事儿 序 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐的书我还隐约记得,叫GoF的,书名是<Design Patterns: Elements of Reusable Object-Oriented Software>,也即<设计模式>,机械出版社的将其翻译为<设计模式-可复用面向对象软件的基础>.至于为什么叫做GoF,那时候

设计模式——1.概述&amp;UML类图和时序图

声明:设计模式相关文章均整理修改自网络,原文地址:图说设计模式 学习设计模式的3个层次—— 1.熟悉所有设计模式: 2.能够用代码实现: 3.运用到工作的项目中. 设计模式指导软件开发,学习设计模式首先需要了解相关UML图,下面将对UML类图做相关介绍. 重点需要明白,类图中各个类之间的关系,各个类之间线条.箭头的含义. 应该能将类图所表达的含义和最终的代码对应起来. 一.从一个示例开始 请看下面的类图,类之间的关系是我们需要关注的: 1.车的类图结构为<<abstract>>,表

设计模式-UML类图的各符号含义(转)

UML类图的各符号含义 类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形.由这些基本的图形进行组合构成了类图的基本符号.这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程 度.越向右耦合度越高. 其中虚线+箭头是表示即依赖的关系,实线+箭头表示关联的关系,虚线+空心右三角表示implements,实线+空心右三角表示的是泛化,即类的继承关系.实线+空心菱形表示的是聚合的关系,实线+实心菱形则表示 组合的关系. 另外一点是在看类图的时候要注意.类图的思想其实也

[设计模式]-UML类图的各符号含义

UML类图的各符号含义 类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形.由这些基本的图形进行组合构成了类图的基本符号.这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程 度.越向右耦合度越高. 其中虚线+箭头是表示即依赖的关系,实线+箭头表示关联的关系,虚线+空心右三角表示implements,实线+空心右三角表示的是泛化,即类的继承关系.实线+空心菱形表示的是聚合的关系,实线+实心菱形则表示 组合的关系. 另外一点是在看类图的时候要注意.类图的思想其实也