首页 | 互联网 | IT动态 | 网络设备 | 服务器 | IDC | 安全 | Cisco | Windows | Linux | Java | .Net | Oracle | CIW | 华为 | 专题
IT技术 | 网页设计 | 平面设计 | 电子书下载 | 教学视频 | 方案 | 数字网校 | 直播室 | 虚拟考场 | 面授培训 | 搜索 | 博客 | 沙龙 | 论坛
首页 | JAVA | C# | VB | VB.NET | C/C++ | delphi | 工程管理 | 其他语言 | 论坛
免费注册一站通帐号,参与直播、论坛、下载、博客、网摘、评论,展现我的风采!
您现在的位置: 中国IT实验室 >> 桌面开发 >> 工程管理 >> 文章正文
用UML描述Java类
来源:STcore.com  时间:2007-4-7

  Java程序员的角度阐述UML和对象建模问题,是一个深入浅出的实用性介绍。虽然从历史和基本理念方面来探讨UML非常吸引人,但我们还是直接从Java代码开始,看看UML如何描述Java类,再在叙述过程中插入一些历史和基本理念方面的知识。
 
  UML类图

  在Java中,我们用下面的代码声明两个公用类,每一个Java类放入一个文件,文件的名字就是Java类的名字加上扩展名。java:
 
public class Person{}

public class Organization{}

  UML是Unified Modeling Language的缩写,即“统一建模语言”。与Java不同,UML是一种图形化的建模“语言”,它用一个矩形来表示一个类,在矩形的内部写上类的名称,一个类图可以放入多个类。用矩形表示类,是UML中U(Unified)起的作用。在UML的第一个版本出现,每一个对象建模专家都有自己的一套符号,一些人用点表示类,一些人用圆圈表示类,还有一些人用圆角矩形表示类。显然,这很容易引起混乱。后来,Rational公司的三个专家——Grady Booch、James Raumbaugh、Ivar Jacobson达成了一致意见,同意“统一”他们各自使用的符号,UML终于创立,符号之争也终于落下了帷幕。图一就是上面两个Java类的UML类图:
 



图一 有二个类的简单类图



  如果要描述一系列类的内部结构以及它们相互之间的关系,UML类图是非常有用的。例如,在许多书籍中,我们可以看到作者用类图来描述各个类之间的关系。

  显然,空的类没有什么实际意义。我们要为Person类加上一些实例变量和简单的方法。下面是Person类的代码,已经过简化处理,不含任何注释:

            public class Person {

private String name;

private String socialSecurityNumber;

private Date dateOfBirth;

private String emailAddress;

public String getName() { return name; }

public void setName(String name) { this.name = name; }

public String getSocialSecurityNumber()

{ return socialSecurityNumber; }

public void setSocialSecurityNumber(String socialSecurityNumber)

{ this.socialSecurityNumber = socialSecurityNumber; }

public Date getDateOfBirth() { return dateOfBirth; }

public void setDateOfBirth(Date dateOfBirth)

{ this.dateOfBirth = dateOfBirth; }

public int calcAgeInYears()

{/*not implemented yet*/return 0;}

}

 

  图二显示了Person类的UML图。可以看到,UML用“+”和“-”符号分别表示public和private修饰符。UML只显示操作和属性类型之类的特征信息,操作的结果在行未的冒号之后声明。



图二 在UML类图中描述属性和方法


  由于UML类图不包含方法的具体实现,所以在UML类图中查看属性和方法等基本信息要比直接查看Java源代码更方便一些。在创建UML图时,人们常常忽略或隐藏各种细节信息,以便查看和掌握类的整体结构。例如,UML类图常常只显示出属性和操作的名称,简单的访问器方法(诸如getXXX()、setXXX()之类的方法)也常常不显示出来。图三就是简化图二得到的结果。

 

[1] [2] [3] 下一页  

【责编:Lili】

中国IT教育热线咨询

相关文章
浅谈Java中利用JCOM实现仿Excel编程
基于Java的界面布局DSL的设计与实现
Java开发中的事件驱动模型实例详解
Java中消除实现继承和面向接口编程
实现Java平台的三种方式
JAVA中对象创建和初始化过程
Java Web层的下一个王者是谁?
Java技术在多数据库系统中的应用研究
推荐文章
· 用C#创建COM对象
· IT管理十大失误及其对策
· VC中利用MFC设计绘图程序初步
· JAVA中对象创建和初始化过程
· C语言中的位域的使用
· 浅谈Java桌面应用程序开发
· C#的前途如何?
· 几种VC++数据库开发技术的相对比较
 精彩友情推荐
·锐捷交换机报价
·锐捷交换机
·锐捷网络网络交换机
·smc交换机
·smc交换机报价
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
最新更新 推荐文章
·Visual Basic 9.0隐式类型的局部…09-30
·JMX+J2SE5.0实现Web应用的安全管…09-30
·多线程、Socket技术及委托技术的…09-21
·Visual C#多线程参数传递浅析09-21
·浅谈Java中利用JCOM实现仿Excel编…09-21
·基于Java的界面布局DSL的设计与实…09-21
·Java开发中的事件驱动模型实例详…09-21
·并发工程原则应用到软件项目中09-06
·Delphi初学者应小心的六大陷阱09-06
·VC开发多语言界面支持的简单方法09-06
·用C#创建COM对象09-06
·用C#创建COM对象09-06
·IT管理十大失误及其对策08-30
·VC中利用MFC设计绘图程序初步08-23
·JAVA中对象创建和初始化过程08-23
·C语言中的位域的使用08-09
·浅谈Java桌面应用程序开发08-09
·C#的前途如何?08-02
·几种VC++数据库开发技术的相对比较07-12
·用Visual C#实现网络封包监视07-12
·VB.NET中的TextBox控件详解07-12
·VB.NET实现PC与掌上电脑PPC的双向通信07-05
  培训中心