原文链接 :https://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html

1、什么是类图

  类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系。

2、类图的元素

  在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)、依赖(Dependency)关系、泛化(Generalization)关系、关联(Association)关系、聚合关系(Aggregation)、组合关系(Composition)和实现(Realization)关系。

2.1 类(Class)

  在面向对象(OO) 编程中,类是对现实世界中一组具有相同特征的物体的抽象。

2.2 接口(Interface)

  接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。在UML中,接口使用一个带有名称的小圆圈来进行表示。

2.3 依赖(Dependency)关系

  依赖关系是指两个或多个类之间的依存关系,如植物类依赖于土壤类。 依赖关系还可以再细分为5种类型,分别是绑定(Binding)依赖、实现(Realization)依赖、使用(Usage)依赖、抽象(Abstraction)依赖和授权(Permission)依赖。

  依赖关系用虚线箭头来表示,箭头指向为依赖的方向。

2.4 泛化(Generalization)关系

  简单的讲就是类之间的继承关系。在UML中,泛化关系用空心三角形+实线来表示,箭头指向为父类。

2.5 聚合(Association)关系

  聚合关系是类之间的一种较弱的耦合关系,如一个字符串数组和一个字符串就是一种聚合关系。在UML中类图中,聚合关系用空心的菱形+实线箭头来表示,箭头指向为被聚合的类。

  

2.6 组合(Aggregation)关系

  组合关系是类之间一种整体与部分之间的关系,如一只青蛙有四条腿,青蛙类与青蛙腿类之间的关系就是组合关系。在UML类图中,组合关系用实心的菱形+实线箭头来表示,箭头指向为被组合的类。

2.7 关联(Composition)关系

  关联关系是类之间一种相互影响的关系,影响的方向就是关联的方向。在UML类图中,组合关系用实线箭头来表示。

2.8 实现(Realization)关系

  一般来讲实现关系是针对类与接口之间的关系而言的。在UML类图中,实现关系用空心三角形+虚线来表示。

3、简单的类图示例

空心菱形,空心三角,实心菱形,实线,虚线在类图中的使用相关推荐

  1. c++直角空心三角形_c++打印实心菱形,空心三角形,十字星,空心正方形,实心平行四边形...

    #include#include //功能选择界面 voidmenu();//使用声明 voidStatement();//打印实心菱形 intSolid_diamond();//打印空心三角形 in ...

  2. php用打印出实心菱形,php打印实心菱形

    编程打印实心菱形的四种算法 刘雨玚 [期刊名称]<福建电脑> [年(卷),期]2016(032)004 [摘要]本文提出了编程打印实心菱形的四种算法,其中前三种方法都是将实 心菱形分为上下 ...

  3. Shell编程——打印空心/实心菱形

    一.直接打印出菱行 脚本: #!/bin/bash #!/bin/bash for (( i=1;i<10;i++ )) doif [ $i -le 5 ]thenfor (( s=$(( 10 ...

  4. java uml类图虚线实线_终于明白六大类UML类图关系了

    UML,全称Unified Modeling Language,统一建模语言.而UML图分为用例图.类图.对象图.状态图.活动图.时序图.协作图.构件图.部署图等9种图. 在面向对象语言中,我们经常看 ...

  5. 【0702作业】输出两种菱形(实心菱形和空心菱形)

    实心菱形: 1 package com.workprojects; 2 /** 3 * 练习作业 4 * 输出菱形"*" 5 * 2019-07-02 6 * @author L ...

  6. java实心菱形_java打印出实心菱形与空心菱形

    /** * 实心菱形 */ public static void method8() { System.out.print("请输入实心菱形的行数:"); int n = in.n ...

  7. 空心等腰三角形java_java打印输出任意大小的等腰三角形,实心菱形,空心菱形,平行四边形...

    import java.util.Scanner; public class PrintShape { public static void main(String[] args) { Scanner ...

  8. Java打印实心菱形和空心菱形

      菱形还算比较简单的图形,主要是观察一下规律,而不要盲目的想着什么拆分成上下两部分,实际上规律很好找.基本上只需要高中的数学知识就可以了,简单的算法然后取绝对值即可!注意行数为正奇数3.5.7.9- ...

  9. Java打印实心菱形与空心菱形

    由于我已经知道我需要的菱形是什么样,所以我的思路是把菱形分为上下两部分先打印上半部分,再打印下半部分: 实心菱形: 第一个for循环限定菱形的行数,第二个for循环限定打印空格,第三个for循环打印* ...

最新文章

  1. 树莓派安装octave,报错missing `server' JVM at问题解决
  2. 给老师的建议?????
  3. python软件是哪个国家的品牌_有哪些好用的软件被国人误认为是外国研发的?
  4. 现代软件工程 第十七章 【人、绩效和职业道德】 练习与讨论
  5. Windows Server AppFabric Caching支持大数据量的配置
  6. 卸载干净ssr之后出现无法上网
  7. docker--强制删除none的image镜像
  8. MessagePack 二进制序列化格式 开发入门详解
  9. JAVA8免费下载安装(win10)
  10. Spring中bean的生命周期
  11. 微信答题小程序用时计算逻辑梳理
  12. 如何减小电压跟随器输出电阻_电压跟随器只会跟踪?不!请看看它对电路的“魔力”。...
  13. outlook邮件插入HTML格式内容调试
  14. Pyspark 案例实践 假新闻分类
  15. 漫反射贴图与镜面光贴图
  16. 计算机网络 信道复用技术
  17. 微信小程序wepy框架+minui踩坑之路
  18. 三子棋(时间智障版)
  19. OSChina 周六乱弹 —— 广州爱情故事
  20. Oracle 12c 数据库的环境搭建以及安装过程

热门文章

  1. $.ajax与$.getJson的区别
  2. oozie调度shell脚本
  3. 差分隐私入门——拉普拉斯分布
  4. Kotlin Navigation开发
  5. 全网首个十万+ 阅读的 Elasticsearch 专栏诞生!
  6. 网上赚钱的方法有哪些?找到想干的项目,持之以恒
  7. Python爬虫如何实用xpath爬取豆瓣音乐
  8. 小米应用商店:网易考拉2016海淘APP下载量第一
  9. LT8619C中文简介
  10. 华为OD机试真题- 处理器问题【2023Q1】