首页 > 其他分享 >UML类图新手教程,看完这篇你就会了

UML类图新手教程,看完这篇你就会了

时间:2022-12-15 23:01:12浏览次数:43  
标签:关系 表示 实线 类图 接口 大雁 新手 UML


第一篇UML类图新手入门级介绍

举一个简单的例子,来看这样一副图,其中就包括了UML类图中的基本图示法。
  • 1


UML类图新手教程,看完这篇你就会了_类图


首先,看动物矩形框,它代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。前面的符号,+ 表示public,- 表示private,# 表示protected。


右下角的飞翔,它表示一个接口图,与类图的区别主要是顶端的<>显示。第一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法。唐老鸭是能讲人话的鸭子,实现了讲人话的接口。


接下来的是类与类,类与接口之间的关系了。首先注意动物、鸟、鸭、唐老鸭之间的关系符号。它们都是继承的关系,继承关系用空心三角形 + 实线来表示的。


上述所列举的几种鸟中,大雁最能飞,让它实现了飞翔接口。实现接口用空心三角形 + 虚线来表示。

企鹅和气候两个类,企鹅是很特别的鸟,会游不会飞。更重要的是,它与气候有很大的关联。我们不去讨论为什么北极没有企鹅,为什么它们要每年长途跋涉。总之,企鹅需要知道气候的变化,需要了解气候规律。当一个类知道另一个类时,可以用关联(association)。关联关系用实线箭头来表示。

再来看大雁和雁群这两个类,大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心的菱形 + 实线箭头来表示。

组合(Composition)是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。在这里鸟和其翅膀就是组合关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。组合关系用实习的菱形 + 实线箭头来表示。另外,你会注意到合成关系的连线两端还有一个数字1和数字2,这被称为基数。表明这一端的类可以有几个实例,很显然,一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就是n来表示。关系关系、聚合关系也可以有基数的。

动物的几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物等。也就是说,动物依赖于氧气和水。他们之间是依赖关系(Dependency),用虚线箭头来表示。

编程是一门技术,更是一门艺术,不能只满足于写完代码后运行结果正确就完整,时常要考虑如何让代码更加简练,更加容易维护,容易扩展和利用,只有这样才可以真正得到提高。写出优雅的代码真的是一种很爽的事情。UML类图也不是一学就会的,需要有一个慢慢熟练的过程。所谓学无止境,其实这才是理解面向对象的开始呢。






ML类图新手入门级介绍

举一个简单的例子,来看这样一副图,其中就包括了UML类图中的基本图示法。
  • 1


UML类图新手教程,看完这篇你就会了_类图


首先,看动物矩形框,它代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。前面的符号,+ 表示public,- 表示private,# 表示protected。


右下角的飞翔,它表示一个接口图,与类图的区别主要是顶端的<>显示。第一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法。唐老鸭是能讲人话的鸭子,实现了讲人话的接口。


接下来的是类与类,类与接口之间的关系了。首先注意动物、鸟、鸭、唐老鸭之间的关系符号。它们都是继承的关系,继承关系用空心三角形 + 实线来表示的。


上述所列举的几种鸟中,大雁最能飞,让它实现了飞翔接口。实现接口用空心三角形 + 虚线来表示。

企鹅和气候两个类,企鹅是很特别的鸟,会游不会飞。更重要的是,它与气候有很大的关联。我们不去讨论为什么北极没有企鹅,为什么它们要每年长途跋涉。总之,企鹅需要知道气候的变化,需要了解气候规律。当一个类知道另一个类时,可以用关联(association)。关联关系用实线箭头来表示。

再来看大雁和雁群这两个类,大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心的菱形 + 实线箭头来表示。

组合(Composition)是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。在这里鸟和其翅膀就是组合关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。组合关系用实习的菱形 + 实线箭头来表示。另外,你会注意到合成关系的连线两端还有一个数字1和数字2,这被称为基数。表明这一端的类可以有几个实例,很显然,一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就是n来表示。关系关系、聚合关系也可以有基数的。

动物的几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物等。也就是说,动物依赖于氧气和水。他们之间是依赖关系(Dependency),用虚线箭头来表示。

编程是一门技术,更是一门艺术,不能只满足于写完代码后运行结果正确就完整,时常要考虑如何让代码更加简练,更加容易维护,容易扩展和利用,只有这样才可以真正得到提高。写出优雅的代码真的是一种很爽的事情。UML类图也不是一学就会的,需要有一个慢慢熟练的过程。所谓学无止境,其实这才是理解面向对象的开始呢。





标签:关系,表示,实线,类图,接口,大雁,新手,UML
From: https://blog.51cto.com/u_14682436/5946644

相关文章

  • UML全程实作幻灯片下载
    内容地址概述​​http://www.umlchina.com/training/umlchina_01_overview.pdf​​愿景​​http://www.umlchina.com/training/umlchina_02_vision.pdf​​业务建模​​http......
  • UMLChina参与制作过的书
    2002-2010年间UMLChina参与制作过的书,可惜现在不做了。《人月神话》《人月神话》(注释版)《人件》《最后期限》《代码之美》《UML参考手册2.0》《UML风格》《系统分析师UML实......
  • UMLChina答疑记录20160521更新
    因篇幅所限,以下仅是部分问题标题,更多内容请访问http://www.umlchina.com/qa/Index1.htm或点击“查看原文”业务建模• 兼职用工的业务建模(2016/5/15) • 组织架构图和鱼刺......
  • 分享一个好用的,专业强大的作图工具,支持多人实时在线协作,可用于原型图、UML、BPMN、网
    好工具一定要分享给最好的朋友,ProcessOn助您和好友一起高效办公!https://www.processon.com/i/62942c7df346fb41eebc4dbe   好工具一定要分享给最好的朋友,ProcessOn......
  • StarUML画时序图
    一、打开软件,新建时序图 二、画图2.1新建用户图标2.2新建几个生命线Lifeline2.3建立连接关系2.4图例......
  • 《大象:Thinking in UML(第2版)》
    《大象:ThinkinginUML》以UML为载体,将面向对象的分析设计思想巧妙地融入建模过程中,通过贯穿全书的实例将软件系统开发过程中方方面面的知识有机地结合在一起,用生动的语言......
  • UML 基础: 类图
     ​​UML类图关系大全​​1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是......
  • UML类图总结
    有几年没有画类图了,去年画过时序图和泳道图,但找不到材料了。留在了老东家而没有备份!今天做个类图的笔记。1.工具类图一般用StartUML 和N年前变化很大!百度一下很多文......
  • 统一建模语言UML要点全面简析
    前言uml就是一些图,一些由框框和线条构成的图,框框称为事物,线条表示4种关系,加点这些框框和线条的说明注释。 一.uml概述统一建模语言(UML)是面向对象软件的标准化建模语言。UML......
  • 新手算法第一题----删除排序数组中的重复项
     * @param {number[]} nums * @return {number} */var removeDuplicates = function(nums) {  if(nums == 0 || nums == [])    return 0......