类图

类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性信息。类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。

类图通常包含如下的内容
      类
      接口
      协作
      关系
      同其他的图一样,类图也可以包含注解和限制。
      类图中也可以包含包和子系统,这两者用来将元素分组。有时后你也可以将类的实例放到类图中。



1. 类(Class)
      一般包含3个组成部分。第一个是类名;第二个是属性(attributes);第三个是该类提供的方法( 类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。类名部分是不能省略的,其他组成部分可以省略。
      类名书写规范:正体字说明类是可被实例化的,斜体字说明类为抽象类。
      属性和方法书写规范:修饰符 【描述信息】 属性、方法名称 【参数】 【:返回类型|类型】
      属性和方法之前可附加的可见性修饰符:
      加号(+)表示public;减号(-)表示private;#号表示protected;省略这些修饰符表示具有package(包)级别的可见性。
      如果属性或方法具有下划线,则说明它是静态的。
      描述信息使用 << 开头和使用 >> 结尾。
      类的性质是由一个属性、一个赋值方法和一个取值方法组成。书写方式和方法类似。
2. 包(Package)
      包是一种常规用途的组合机制。UML中的一个包直接对应于Java中的一个包。在Java中,一个包可能含有其他包、类或者同时含有这两者。进行建模时,通常使用逻辑性的包,用于对模型进行组织;使用物理性的包,用于转换成系统中的Java包。每个包的名称对这个包进行了惟一性的标识。


3. 接口(Interface)
      接口是一系列操作的集合,它指定了一个类所提供的服务。它直接对应于Java中的一个接口类型。/P>


4. 关系
      常见的关系有:一般化关系(Generalization),关联关系(Association),聚合关系(Aggregation),合成关系(Composition),依赖关系(Dependency)。
      其中,聚合关系(Aggregation),合成关系(Composition)属于关联关系(Association)。
      一般关系表现为继承或实现关系(is a),关联关系表现为变量(has a ),依赖关系表现为函数中的参数(use a)。
      一般化关系:表示为类与类之间的继承关系,接口与接口之间的继承,类对接口的实现关系。
      表示方法: 用一个空心箭头+实线,箭头指向父类。或空心箭头+虚线,如果父类是接口。
      关联关系:类与类之间的联接,它使一个类知道另一个类的属性和方法。
      表示方法:用 实线+箭头, 箭头指向被使用的类。
      聚合关系:是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。关联关系的两个类处于同一层次上,啊聚合关系两个类处于不同的层次,一个是整体,一个是部分。
      表示方法:空心菱形+实线+箭头,箭头指向部分。
      合成关系:是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期,合成关系不能共享。
      表示方法:实心菱形+实线+箭头,
      依赖关系:是类与类之间的连接,表示一个类依赖于另一个类的定义。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。
      表示方法:虚线+箭头

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值