了解UML 类图

作者: Android那些事儿 | 来源:发表于2016-11-27 22:10 被阅读42次

文章简介
1、了解UML统一建模语言
2、重点关注类图以及使用


一、UML简介

UML:描述、构建和图形化文档系统的可视化描述语言。分为静态和动态两种。
静态图:有助于设计包、类名、属性等。
包图:PackageDiagram
组件图:ComponentDiagram
对象图:ObjectDiagram
部署图:DeploymentDiagram
复合结构图:CompositeStructureDiagram
用例图:UseCaseDiagram
类图:ClassDiagram
动态图:有助于设计逻辑、代码行为、方法体。
交互概观图:InteractiveOverviewDiagram
顺序图:SequenceDiagram
通信图:communicationDiagram
状态图:StateDiagram
活动图:ActivityDiagram
定时图:TimingDiagram

二、类图以及类图说明

类图:类的属性以及方法。以及类与类之间的关联。
1、类图说明:

  • 类:使用三层矩形框表示。第一层显示类的名称,抽象类使用斜体表示。第二层表示类的属性;第三层表示类的方法。
类图
  • 接口:与类图相比,顶端有<<Interface>>显示。第一层是接口名称。第二层是接口中的常量。第三层是接口中的方法。
接口

2、类与类(对象)之间的关系以及类图描述。
类与类之间的关系主要有如下几种:泛化(继承)、依赖、关联、组合。
综述:UML中对象的关系都是在相应的软件环境或实际场景下定义的。区别聚合和组合的关系,在于它们之中整体和部分的关系强、弱,以及它们之间的依附关系。不同场景,不同定义。

2.1、泛化:一个元素是另一个元素的特殊化。也类似的成为继承关系。在UML中,泛化关系用空心三角形+实线来表示,箭头指向为父类。
案例代码:

// 泛化
        People person = new Man();
        System.out.println(person);

    /* 泛化演示类 2016-10-27 start */
    static class People {
        public String toString() {
            return "人类";
        }
    }
    static class Man extends People {
        public String toString() {
            return "男人";
        }
    }
    static class WoMan extends People {
        public String toString() {
            return "女人";
        }
    }
    /* 泛化演示类 2016-10-27 end */
泛化

2.2、依赖:某个元素在一定程度上依赖于另一个元素,同时,一个类的改动可能胡影响另一个类的运行效果,则两个类存在依赖关系。例如:工具类,依赖工具类中的方法进而获得展示的UI名称。
案例代码:

//依赖
        Coder coder = new Coder();
        System.out.println(coder.coding());

    /*依赖演示类 start*/
    static class Computer{
        public static String codingWithComputer(){
            return "coding with computer";
        }
    }
    
    static class Coder{
        public static String coding(){
            return Computer.codingWithComputer();
        }
    }
    /*依赖演示类 end*/
依赖

2.3、关联:当一个类的实例与另一个类的一些特定实例存在固定的对应关系,则称两个类存在关联关系。
案例代码:

//关联
        Person age18 = new Person("372926198502184567");//人和身份证ID:1对1关联
        System.out.println("身份证ID:"+age18.getPersonId());

    /*关联演示类 start*/
    static class IDCard{
        public final String ID;
        public IDCard(String id){
            ID = id;
        }
    }
    static class Person{
        IDCard idcard;
        public Person(String 身份证ID){
            idcard = new IDCard(身份证ID);
        }
        public String getPersonId(){
            return idcard.ID;
        }
    }
    static class Class{
        List<Person> persons = new ArrayList<Person>();
    }
    /*关联演示类 end*/
关联

2.4、组合:组合关系是类之间一种整体与部分之间的关系,如一只青蛙有四条腿,青蛙类与青蛙腿类之间的关系就是组合关系。
案例代码:

//组合
        青蛙 qingwa = new 青蛙();
        青蛙手 qingwaHand = new 青蛙手();

    /*组合演示类 start*/
    static class 青蛙{
        青蛙手 m青蛙手;
        青蛙脚 m青蛙脚;
    }
    static class 青蛙手{
        public void work() {
            System.out.println("“支撑平衡");
        }
    }
    static class 青蛙脚{
        public void work() {
            System.out.println("“支撑平衡");
        }
    }
    /*组合演示类 end*/
组合

2.5、聚合:
聚合关系是类之间的一种较弱的耦合关系,如一个字符串数组和一个字符串就是一种聚合关系。
部分的生命周期可以超越整体。如电脑和鼠标。
案例代码:

//聚合
        Company company = new Company();//公司与员工、部门之间是弱的包含关系
        Employee emplyee = new Employee();
        Department department = new Department();

    /*聚合演示类 start*/
    static class Company{
        Department mDepartment;
        Employee mEmployee;
        public void getDescription(){
            System.out.println("公司");
        }
    }
    static class Employee{
        public void getDescription(){
            System.out.println("雇员");
        }
    }
    static class Department{
        public void getDescription(){
            System.out.println("部门");
        }
    }
    /*聚合演示类 end*/
聚合

案例下载:http://download.csdn.net/detail/hailushijie/9667855

相关文章

  • [一]UML入门

    类图 二 UML类图讲解 三 UML类图讲解-自上而下 四 UML类图讲解-对比讲解

  • 了解UML 类图

    文章简介1、了解UML统一建模语言2、重点关注类图以及使用 一、UML简介 UML:描述、构建和图形化文档系统的可...

  • Java中的UML类图实现

    类图是最常用的UML图,他可以清楚地表示程序中类的基本结构,类与类之间的结构关系,掌握UML类图对于了解系统的总体...

  • JavaScript面向对象之UML类图

    UML类图 什么是UML类图 UML(Unified Modeling Language)类图,中文意思为“统一建...

  • 看懂UML类图(转)

    看懂UML类图 我们在学习设计模式的时候,经常会看到各种类图,如果对那些UML类图不做了解,图上的各种线看起来可以...

  • 一张图简述UML类图

    一张图简述UML类图 UML建模常用视图中,类图可算是最多的,初学UML的类图绘制,基于starUML工具,现简记...

  • 通往架构师之路-软件工程-UML建模-类图-事物与解释?

    阅读说明:本节主要是介绍UML类图事物和解释,主要也是让大家对UML建模中的类图基本表示有一个初步了解和认识,后面...

  • 设计模式补完计划

    目录 1.uml类图2.uml时序图3.设计模式 uml类图 泛化关系(继承):指类继承自类,接口继承自接口的关系...

  • Java自学-接口与继承 UML图

    UML 图 步骤 1 : UML 图 —— 类之间的关系 UML-Unified Module Language统...

  • SDWebImage源码阅读(一)--基础架构

    SDWebImage架构图 SDWebImage的UML类图,具体UML类图的阅读规则,可以参考这篇文章:UML基...

网友评论

    本文标题:了解UML 类图

    本文链接:https://www.haomeiwen.com/subject/hqbnpttx.html