UML中几种类图的定义和表示

我们知道,面向对象的特性就是封装、继承和多态,而为了使这些关系呈现的更加清晰,经常采用UML类图的形式来表示。常见的几种关系如下:

1. 类(Class): 表示对某种对象的封装。具体表示如下图,

   最上面一格代表类名,斜体表示该类为抽象类;第二格表示该类的特性,就是常说的字段和属性;第三格表示类的操作,

即方法和行为。前面的+号表示public,-表示private,#表示protected。

 

2. 接口(Interface): 是指一系列方法的声明,没有实现,实现该接口的类负责实现该接口的方法。

    

  其中,最上面一格表示接口名称,第二格表示该接口定义的一些方法。

 

3. 继承(Inheritance):是指使用已存在的类的定义作为基类,可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。具体表示方法是空心三角形+实线。

      

    当然,Java语言中为了实现类似C++的多继承机制,还有个实现(Implements)接口的类图,具体表示方法是空心三角形+虚线或者下图的棒棒糖表示法。

      

4.关联(Association):当一个类需要“知道”另一个类时,就可以用关联来表示,使用实线箭头来表示。

      

 

5.聚合(Aggregation):是一种弱的“拥有”关系,相当于包含,但不是其中的一部分,以便和合成区分开来,使用空心菱形+实线箭头来表示。

     

 

6.合成(Composition):也叫组合,是一种强的“拥有关系”,体现的是一种局部和整体的关系,其生命周期和整体一样,使用实心的菱形+实线箭头来表示。其中连线两段的数字表示基数,表明一个类可以有几个实例,一个人有一个脑袋,所以用1:1表示。

      

 

7.依赖(Dependency):比如,人类要喝水,要吃饭等,体现的是一种依赖关系,使用虚线箭头来表示。

       

原文地址:

我们知道,面向对象的特性就是封装、继承和多态,而为了使这些关系呈现的更加清晰,经常采用UML类图的形式来表示。常见的几种关系如下:

1. 类(Class): 表示对某种对象的封装。具体表示如下图,

   最上面一格代表类名,斜体表示该类为抽象类;第二格表示该类的特性,就是常说的字段和属性;第三格表示类的操作,

即方法和行为。前面的+号表示public,-表示private,#表示protected。

 

2. 接口(Interface): 是指一系列方法的声明,没有实现,实现该接口的类负责实现该接口的方法。

    

  其中,最上面一格表示接口名称,第二格表示该接口定义的一些方法。

 

3. 继承(Inheritance):是指使用已存在的类的定义作为基类,可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。具体表示方法是空心三角形+实线。

      

    当然,Java语言中为了实现类似C++的多继承机制,还有个实现(Implements)接口的类图,具体表示方法是空心三角形+虚线或者下图的棒棒糖表示法。

      

4.关联(Association):当一个类需要“知道”另一个类时,就可以用关联来表示,使用实线箭头来表示。

      

 

5.聚合(Aggregation):是一种弱的“拥有”关系,相当于包含,但不是其中的一部分,以便和合成区分开来,使用空心菱形+实线箭头来表示。

     

 

6.合成(Composition):也叫组合,是一种强的“拥有关系”,体现的是一种局部和整体的关系,其生命周期和整体一样,使用实心的菱形+实线箭头来表示。其中连线两段的数字表示基数,表明一个类可以有几个实例,一个人有一个脑袋,所以用1:1表示。

      

 

7.依赖(Dependency):比如,人类要喝水,要吃饭等,体现的是一种依赖关系,使用虚线箭头来表示。

       

原文地址:http://blog.csdn.net/mawl2002/article/details/6125153

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值