类图转java代码码填空,根据类图定义类

拒绝访问 | www.ggdoc.com | 百度云加速
请打开cookies.
此网站 (www.ggdoc.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(405b3da789dd43fb-ua98).
重新安装浏览器,或使用别的浏览器java UML类图的使用 - 简书
java UML类图的使用
类图 是用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。学习好类图的绘制,是一位合格的软件工程师应有的技能。
1.类的UML图示
在UML中,类使用包含类名,属性和方法且带有分隔线的长方形来表示
例如定义一个Person类,包含属性name,age,拥有eating方法,则UML类图如下图示:
对应的java代码为:
public class Person {
public void eating() {
在UML类图中,类一般由三部分组成:
(1) 第一部分是类名:每个类都必须有一个名字,类名是一个字符串。
(2) 第二部分是类的属性(Attributes):属性是指类的性质,即类的成员变量。一个类可以有任意多个属性,也可以没有属性。
UML规定属性的表示方式为:
可见性 名称:类型 [=缺省值]
?“可见性”表示该属性对于类外的元素而言是否可见,包括公有(public)、私有(private),友好的(friendly,代表package)和受保护(protected)三种,在类图中分别用符号+、-,~和#表示。
“名称”表示属性名,用一个字符串表示。
“类型”表示属性的数据类型,可以是基本数据类型,也可以是用户自定义类型。
“缺省值”是一个可选项,即属性的初始值。
(3) 第三部分是类的操作(Operations):操作是类的任意一个实例对象都可以使用的行为,是类的成员方法。
UML规定操作的表示方式为:
名称(参数列表) [ : 返回类型]
“可见性”的定义与属性的可见性定义相同。
?“名称”即方法名,用一个字符串表示。
?“参数列表”表示方法的参数,其语法与属性的定义相似,参数个数是任意的,多个参数之间用逗号“,”隔开。
“返回类型”是一个可选项,表示方法的返回值类型,依赖于具体的编程语言,可以是基本数据类型,也可以是用户自定义类型,还可以是空类型(void),如果是构造方法,则无返回类型。
2.类之间的关系
类不是孤立存在的,类与类之间存在各种关系包括:关联关系,聚合关系,组合关系,依赖关系,泛化关系。每种关系对应i不同的图示
(1)依赖关系
依赖关系是类与类之间最弱的关系,是指一个类(依赖类)使用或知道另外一个类(目标类)。它是一个典型的瞬时关系,依赖类和目标类进行简单的交互,但是依赖类并不维护目标类的对象,仅仅是零时使用而已。例如对于窗体类window,当它关闭时会发送一个类windowclosingevent对象,这里也就可以说窗体类window使用了类windowclosingevent,他们之间的依赖关系如下图示:
依赖关系.PNG
依赖关系用虚线箭头表示
(2)关联关系
关联关系是一种比依赖关系更强的关系,是指一个类“拥有”另一个类,表示类之间的一种持续一段时间的合作关系,包括有单向关联和双向关联关系。
单向关联:类A与类B是单向关联关系,是指类A包含类B对象的引用,但是类B并不包含类A对象的引用,例如银行用户类(client)包含账户类(Bankacount)的引用,但是反过来却不是。在类图中,通过从类A画一条带箭头的单向实线到类B来表示他们之间的单项关联关系,箭头方向指向B。如下图:
单向关联.PNG
在上图中,连接两个类的箭头线两头的数字即代表它们之间的数量关系,例如上图,代表一个client类包含了0到多个BankAcount类的引用,并且BankAcount类在client中的引用是私有变量:accounts.
表达数量的形式有:
表示另一个类的一个对象只与该类的一个对象有关系
表示另一个类的一个对象与该类的零个或多个对象有关系
表示另一个类的一个对象与该类的一个或多个对象有关系
表示另一个类的一个对象没有或只与该类的一个对象有关系
表示另一个类的一个对象与该类最少m,最多n个对象有关系 (m≤n
双向关联:类A与类B如果包含对方的引用,则称类A与类B是双向关联的关系。例如,在一个需求描述中,一个学生(student)可以拥有其选秀的六门课程的信息,一门课程(course)可以包含选修该门课程的任意多个学生的信息。如下图:
双向关联用双向箭头连接两个类
(3)聚合关系
聚合(Aggregation)关系表示整体与部分的关系。在聚合关系中,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。在UML中,聚合关系用带空心菱形的直线表示。例如:汽车发动机(Engine)是汽车(Car)的组成部分,但是汽车发动机可以独立存在,因此,汽车和发动机是聚合关系,如下图所示:
在代码实现聚合关系时,成员对象通常作为构造方法、Setter方法或业务方法的参数注入到整体对象中:
public class Car {
//构造注入
public Car(Engine engine) {
this.engine =
//设值注入
public void setEngine(Engine engine) {
this.engine =
public class Engine {
(4)组合关系
组合(Composition)关系也表示类之间整体和部分的关系,但是在组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在,成员对象与整体对象之间具有同生共死的关系。在UML中,组合关系用带实心菱形的直线表示。例如:人的头(Head)与嘴巴(Mouth),嘴巴是头的组成部分之一,而且如果头没了,嘴巴也就没了,因此头和嘴巴是组合关系,如下图所示:
在代码实现组合关系时,通常在整体类的构造方法中直接实例化成员类
public class Head {
public Head() {
mouth = new Mouth(); //实例化成员类
public class Mouth {
(5)泛化关系
泛化(Generalization)关系也就是继承关系,用于描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类。在UML中,泛化关系用带空心三角形的直线来表示,如下图:
***在UML中,类与接口之间的实现关系用带空心三角形的虚线来表示
接口实现关系
以上便是UML类图的一些简单实用了,希望对你有帮助,另外,此文章参考了csdn版主刘伟老师的博客
在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition》(...
国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿: 前言: 排版 by Dr_Ting公众号:庭说移步 tingtalk.me 获得更友好的阅读体验 Q/GDW XXXX-201X《面向对象的用电信息数据交换协议》是根据《国家...
忘记了uml类图连线之间的关系,记录一下。 1. 关联关系 关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。在UML类图中,用实线连接有关联关系的对象所对应...
百战程序员_ Java1573题 QQ群:034603 掌握80%年薪20万掌握50%年薪10万 全程项目穿插, 从易到难,含17个项目视频和资料持续更新,请关注www.itbaizhan.com 国内最牛七星级团队马士兵、高淇等11位十年开发经验专...
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
冬天来了,我的忧郁症又犯了。 报纸上说,是冬天的阳光太少了。 是啊,我晒不到太阳。 我开始营养不良。 你怎么样? 树怎么样?
当欣妍还是花儿伟光还是少年,花儿恋着少年,少年是花儿的天,少年的心思不可琢磨,花儿从未感受到爱恋。 多年以后,两人敞开心扉再次诉说彼此的初恋。少年为了与花儿在一所中学重逢,付出的艰辛令花儿泪流满面。少年一刻都不想花儿离开他的视线,少年做出了那么多的努力,花儿却止步不前。是什...
这两个函数主要提供,基于字典的访问局部和全局变量的方式。 在理解这两个函数时,首先来理解一下python中的名字空间概念。Python使用叫做名字空间的 东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变 量的值。实际上,名字空间可以象Pyt...
这是一个朋友的故事,为了方便给大家讲述,我就用第一人称来说这个事情。
我出生于一个普通县城,父母都是农民,我是家里的第二个孩子,从小家境十分不好,并不是父母不够努力,父母已经用他们的一切给了我最好的了。从小我就是那种像文学作品里描述的贫寒学子一样,他们能有的剧情我似...
效果图: 1.编写类继承View 2.重写构造方法 3.自定义属性 4.声明需要的变量以及常量 5.测量View大小 测量方法: 6.获取自定义属性 附上单位转换工具类: 7.绘制界面 8.使用声明命名空间 引入控件 效果图: 代码动态更新进度:java类图:
检查异常 和 未检查异常 的划分
在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。
Throwable 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。
Exception(异常)是应用程序中可能的可预测、可恢复问题。一般大多数异常表示中度到轻度的问题。异常一般是在特定环境下产生的,通常出现在代码的特定方法和操作中。在 EchoInput 类中,当试图调用 readLine 方法时,可能出现 IOException 异常。
Error(错误)表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。
Exception 类有一个重要的子类 RuntimeException。RuntimeException 类及其子类表示“JVM 常用操作”引发的错误。例如,若试图使用空值对象引用、除数为零或数组越界,则分别引发运行时异常(NullPointerException、ArithmeticException)和 ArrayIndexOutOfBoundException。
zwt2001267
浏览: 312219 次
来自: 北京
怒赞!怒赞!怒赞!怒赞!怒赞!
怒赞!楼主提醒的地方很关键呀,解决了我目前的问题!学习了!
Eric.Yan 写道嗯,学习了,但是spring.jar 与 ...
嗯,学习了,但是spring.jar 与 springfram ...
话说怎么不能用?
1,cookie.
&#assign
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'用什么工具把java代码转成类图_百度知道
用什么工具把java代码转成类图
我有更好的答案
用UML建模工具去下个rose工具就可以了用rose中的逆向工程就能实现代码转为类图用rose中的正向工程就能实现类图转为代码
采纳率:54%
来自团队:
这个只能自己画吧...
这不科学。。。
为您推荐:
其他类似问题
类图的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 java 类图 的文章

 

随机推荐