概要

本章介绍类图中类的UML表示方法。内容包括:
类图介绍
实体类的UML表示
抽象类和接口的UML表示

转载请注明出处:http://www.cnblogs.com/skywang12345/p/3523185.html

类图介绍

类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间的示意图。它形象的描述出了系统的结构,帮助人们理解系统。
类图是在"所有的UML图"中,实用频率非常之高;掌握它对于我们软件设计,以及交流都很有帮助。

对于类图而言,它的基本单位是类。类主要由三部分组成:类名属性操作(函数)。UML类的表示大致如下:

下面,分别介绍"实体类", "抽象类", "接口"的UML表示方法。

注:本章的图形都是通过"UML系列01之 UML和绘图工具Visio介绍"中介绍的Visio工具进行绘制的!

实体类的UML表示

实体类的UML示例

对应的java代码

  1. public class Student {
  2. private int id;
  3. protected int age;
  4. public String name;
  5.  
  6. private void setId(int id);
  7. private int getId() ;
  8. protected void setAge(int age);
  9. protected int getAge() ;
  10. private void setName(String name);
  11. private String getName() ;
  12. }

1. 类名
类名是类的名称。

2. 属性
UML类图中,属性的基本格式:     可见性  名称: 类型 [=缺省值]

  1. () 可见性 -- 表示该属性对于类外的元素而言是否可见。
  2. 主要包括公有(public)、私有(private)和受保护(protected)三种,在类图中分别用符号+、-和#表示。
  3.  
  4. ┏━━━━━━┳━━━━━━━━━━━━━━━━━━┓
  5. 标志 可见性
  6. ┣━━━━━━╇━━━━━━━━━━━━━━━━━━┫
  7. + Public
  8. ┠──────┼──────────────────┨
  9. # │ Protected ┃
  10. ┠──────┼──────────────────┨
  11. - Private
  12. ┗━━━━━━┷━━━━━━━━━━━━━━━━━━┛
  13. () 名称 -- 表示属性名。
  14. () 类型 -- 表示属性的数据类型。可以是基本数据类型,也可以是用户自定义类型。
  15. () 缺省值 -- 属性的初始值。它是一个可选项。

3. 操作
UML类图中,属性的基本格式:   可见性 名称(参数类表)  [:返回类型]

  1. () 可见性 -- 表示该属性对于类外的元素而言是否可见。它的表示方法与"属性的可见性"相同。
  2. ┏━━━━━━┳━━━━━━━━━━━━━━━━━━┓
  3. 标志 可见性
  4. ┣━━━━━━╇━━━━━━━━━━━━━━━━━━┫
  5. + Public
  6. ┠──────┼──────────────────┨
  7. # │ Protected ┃
  8. ┠──────┼──────────────────┨
  9. - Private
  10. ┗━━━━━━┷━━━━━━━━━━━━━━━━━━┛
  11. () 名称 -- 表示方法名。
  12. () 参数列表 -- 表示方法的参数。参数个数是任意的,多个参数之间用逗号","隔开。
  13. () 返回类型 -- 表示方法的返回值类型。它是一个可选项;可以是具体的返回类型,可以是void,也可以无返回类型(构造方法)。

抽象类和接口的UML表示

1. 抽象类的UML表示

抽象类和实体类的UML表示法类似。区别是: "抽象类的类名是斜体",而"实体类的类名不是斜体"!

抽象类的UML示例
将上面"实体类示例"中的实体类Student改为抽象类AbstractStudent,对应的UML图如下:

2. 接口的UML表示

在UML中,通过在"类名"位置添加“interface”关键字来表示接口。示意图如下:

对应的代码:

  1. public interface Runnable {
  2. public void run();
  3. }

更多内容

01. UML系列01之 UML和绘图工具Visio介绍

UML系列02之 UML类图(一)的更多相关文章

  1. UML系列02之UML类图(1)

    类图介绍 类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间关系的示意图.它形象的描述出了系统的结构,帮助人们理解系统.类图是在"所有的 ...

  2. UML系列02之 UML类图(2)

    UML类图的几种关系 在UML类图中,关系可以分为4种: 泛化, 实现, 关联 和 依赖.1. 泛化 -- 表示"类与类之间的继承关系".2. 实现 -- 表示"类与接口 ...

  3. uml系列(四)——类图

    类图是uml的核心.学习类图,总共须要掌握三个部分:类:类之间的关系:类图怎么画. 首先,类.老规矩,先来张图. 类是什么:举个简单的样例:猫.狗.猪三个都是动物.这里面的"动物" ...

  4. UML系列03之 UML类图(二)

    概要 在"UML系列02之 UML类图(一) "中介绍了类图的基本构成--类的UML表示方法.本文是接着前文,继续对"UML的类图"中几种关系进行介绍.介绍的主 ...

  5. UML系列04之 UML时序图

    概要 本章对UML的时序图进行介绍,主要内容包括:时序图介绍时序图组成 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3523355.html 时序图介绍 ...

  6. UML从需求到实现---类图(2)

    上节写到了UML中的类图:UML从需求到实现---类图(1) 写完以后总觉得写的不够详细.里面很多细节没有说到.一篇文章就把强大的面向对象的类说完.当然是不可能的.这次我再补充一些关于UML中类图和类 ...

  7. UML学习(二)-----类图

    UML学习(二)-----类图 http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html http://www.cnblogs ...

  8. UML从需求到实现---类图(1)

    上次写到了UML的包图,用例等:接上:UML从需求到实现---包图 按照UML中图的出现顺序.当做完包图以后.我们下一步要做的当然是类图,类图也是UML中的三大核心图之一. 看到很多文章在描述类图的时 ...

  9. (转)UML实践----用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图

    面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...

随机推荐

  1. jquery读取XML 生成页面文件

    $.get("../../js/data.xml", function (xml) { $(xml).find("local").each(function ( ...

  2. python查询

    #coding=utf-8 import MySQLdb conn = MySQLdb.Connect(host = '127.0.0.1',port=3306,user='root',passwd= ...

  3. Correct use of System.Web.HttpResponse.Redirect

    from:https://blogs.msdn.microsoft.com/tmarq/2009/06/25/correct-use-of-system-web-httpresponse-redire ...

  4. 搭建自己的OpenWrt开发环境

    1.  安装环境Linux系统,如果在CentOS上操作,需安装如下依赖包:yum install binutils bzip2 gawk gcc gcc-c++ gettext makencurse ...

  5. db2 表授权语句

    grant insert/update/delete on table schema.table_name to user user_name;

  6. 注入器和发布库--AngularJS学习笔记(三)

    AngularJS的一大特性就是Module的加载和依赖注入,本文将分析一下loader.js和最后这些代码文件是怎么组织和运行的. Loader.js 该文件中只有setupModuleLoader ...

  7. IOS开发 应用程序图标数字角标

    其实实现这个功能很简单,只要调用UIApplication即可.   用法用例:[UIApplication sharedApplication].applicationIconBadgeNumber ...

  8. eclipse连接远程hadoop集群开发时权限不足问题解决方案

    转自:http://blog.csdn.net/shan9liang/article/details/9734693 eclipse连接远程hadoop集群开发时报错   Exception in t ...

  9. 前端开发者进阶之ECMAScript新特性【一】--Object.create

    Object.create(prototype, descriptors) :创建一个具有指定原型且可选择性地包含指定属性的对象 参数:prototype 必需.  要用作原型的对象. 可以为 nul ...

  10. 云计算相关的一些概念Baas、Saas、Iaas、Paas

    BaaS(后端即服务:Backend as a Service)公司为移动应用开发者提供整合云后端的边界服务. SaaS(软件即服务:Software as a Service)提供了完整的可直接使用 ...