【IT168 技术文章】

Java应用程序由许多类所构成,是Java实现面向对象应用程序的核心。类图主要描述Java应用程序中各种类之间的相互静态关系,如类的继承、抽象、接口以及各种关联。要利用UML设计Java应用程序,仅仅使用类图来描述这些静态关系,利用可视化工具,要实现Java应用程序的代码自动生成,是远远不够的。我们还必须描述各种类相互之间的协作关系、动态关系,如时间序列上的交互行为。其中UML序列图就是用来描述类与类之间的方法调用过程(或消息发送)是如何实现的。

本文通过一个具体的应用程序的设计与实现过程,详细说明了利用UML序列图设计Java应用程序,使得开发过程标准化、可视化,代码编程简单化。

我们要设计的应用程序FlooringClient是用来计算在一定面积的表面上贴上规格化的地板砖或墙纸所需要的地板砖或墙纸材料的长度和价钱。该程序涉及到三个类:FlooringClient、Surface以及Floor。其各自的类图以及程序代码分别如下:

/** FlooringClient.java

**/classFlooringClient {publicstaticvoidmain(String[] args){

Surface theSurface=newSurface("Margaret's Floor",5,6);

Flooring theFlooring=newFlooring("Fitted carpet",

UML设计java程序_利用UML序列图设计Java应用程序详解相关推荐

  1. yum 查看java版本_如何查找YUM安装的JAVA_HOME环境变量详解

    前言 开发中很多需要javac 的程序依赖 JAVA_HOME环境变量. 如果是手工下载源码安装的JDK,很容易知道JAVA_HOME的目录. 例如 那么对应的 JAVA_HOME 为 /usr/lo ...

  2. java程序 下雨,利用SurfaceView实现下雨与下雪动画效果详解(Kotlin语法)

    前言 最近打算做一波东西巩固一下自己近期所学所得.话不多说,先看一下最终完成的效果图: 下雨.gif 这里比较懒--第二个图片中还是降雨--不过这不是关键点-- 下雪.gif 录制的mp4,转成了gi ...

  3. 我的世界刷猪人塔java版_我的世界速攻猪人塔详解 史上最牛的经验塔

    我的世界速攻猪人塔详解 史上最牛的经验塔.那下面给大家分享的这个是一个可以让所有经验塔自叹不如的速攻猪人塔哦~那到底这个塔是什么呢?那下面就给大家详细的介绍一下吧!有感兴趣的玩家不妨进来看看哦~希望大 ...

  4. UML类图与类的关系详解

    UML类图与类的关系详解   2011-04-21 来源:网络   在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...

  5. java io类库,Java利用io类库对各种文件的操作详解

    Java中文网 - Java利用io类库对各种文件的操作详解 java中提供了io类库,可以轻松的用java实现对文件的各种操作.下面就来说一下如何用java来实现这些操作. 新建目录 //Strin ...

  6. 利用c#实现远程注入非托管WIN32程序,并利用嵌入汇编调用非托管WIN32程序中的内部过程...

    c#通过调用windows API函数,可以很轻松的完成非托管WIN32程序的注入.内存读写等操作,以下为c#实现远程注入非托管WIN32程序,并利用嵌入汇编调用非托管WIN32程序中的内部过程的源码 ...

  7. 微信小程序:利用搜狗API实现听写单词小程序

    微信小程序:利用搜狗API实现听写单词小程序 wxml <view><input bindconfirm="addword" confirm-type=" ...

  8. java中北大学ppt总结+课后习题第二章(小宇特详解)

    java中北大学ppt总结+课后习题第二章(小宇特详解) 基本数据类型 Java语言有8种基本数据类型. 逻辑类型:boolean.1字节 整数类型: 1字节整数类型:byte. 2字节整数类型:sh ...

  9. 生物信息学(4)——多序列比对之CLUSTAL算法详解及C++实现

    生物信息学系列博客索引 生物信息学(1)--双序列比对之Needleman-Wunsch(NW)算法详解及C++实现 生物信息学(2)--双序列比对之Smith-Waterman(SW)算法详解 生物 ...

最新文章

  1. Hbase配置项简介
  2. 利用php比较精确的统计在线人数的办法
  3. Xilinx FPGA 仿真环境设置(ISE + Modelsim + Debussy)
  4. android传输注册数据异常,android数据传值再获取的问题
  5. 全国计算机等级考试题库二级C操作题100套(第76套)
  6. 初创公司股本结构_我如何向初创公司的开发团队添加一些结构-以及从过程中学到的东西
  7. [实战] 用数人云,部署弹性 ELK 集群就五步 1
  8. 一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识
  9. react-native全局变量和静态变量使用
  10. shiro框架如何保持登录状态
  11. 让CI框架支持traits新特性
  12. 下载安装typora
  13. 用matlab如何求导,matlab如何求导 matlab求导 matlab如何求导
  14. 利用小程序快速生成App,只需七步
  15. 望海潮·无处闻三年六月歌
  16. pb函数库之字符串操作函数
  17. flatMap() :对每个元素执行映射函数并将结果展平
  18. 管家婆物流配货单快速实现批量拣货
  19. 基于ARMv8的固件系统架构
  20. jquery 遍历父元素、子元素、兄弟元素

热门文章

  1. 顶尖文案app_为了让你多读点书,这个APP请来了这些世界顶级“文案”
  2. 2020计算机会计初级,2020年初级会计官网登录入口
  3. 腾讯QQ大数据:机器学习建模问题中的特征构造方法
  4. 这又是一则招聘贴——招聘区块链系统开发的同学
  5. Centos 7 编译升级openssh脚本 —— 筑梦之路
  6. 【python】flask框架
  7. lect02_project
  8. 【Oracle】关于索引的那些事
  9. Python, Anaconda 的卸载
  10. linux svn e170001 认证失败,jenkins - svn: E170001报错的原因以及解决方案