uml中4种关系详解

来源:互联网 发布:tl494引脚功能和数据 编辑:程序博客网 时间:2024/04/28 07:42
一 关系的引入:
        uml的构造块包括三部分:事物,关系,和图。
        事物就是对模型中最具有代表性东西的一种抽象,关系就是事物之间的一种组合类型,图就是把事物和关系的一种规则组合。
二 关系的分类:




        


<1>关联关系(association)
  关联关系就是指类与类之间的一种连接,它是其中的一个类知道另一个类的属性和方法。其中,关联关系又可以分为聚合关系和组合关系。相应的体现在类与类之间,类与接口之间的一种强依赖关系。
            1·聚合关系
                是指:聚合是关联的一种强制模式。整体和个体的一种关系,此时它们两个可单独存在,都有独自的生命周期,个体可以属于多个整体对象,同时也可以为多个 整 体对象所服务。比如说汽车和轮子,汽车上有车轮,但同时这个车轮也可以放到其它的车上。



            2·组合关系
            是指:包含关系。整体和个体的一种特殊关系,其中整体和个体是不可分割的关系,不可独立存在,是关联关系中最强的一种关系。比如说鸟和翅膀的关系,其中翅膀是不可单独存在的。

<2>依赖关系(dependency)

      就是类与类之间简单的一种使用(依赖)关系。也可理解为生活中“依赖”关系,比如鱼和水的关系。



<3>泛化关系(generalization):
        类与类,接口与接口之间的一种继承关系,即面向对象思想中子类对父类的一种继承,除了子类继承父类的属性方法外,子类还同时增加自己的属性和方法。在java中用extends表示


<4>实现关系(realization):
        实现一般是类和接口之间的关系。
        接口的定义:其实关于接口的定义具体我也说不清楚,我是这么理解的。首先接口和类一样,需要定义,关键字为interface。接口中定义变量都是静态变量,定义方法都是抽象的方法,并不给出具体的方法。
    类实现接口的格式:首先使用关键字implements定义。类实现接口后,继承接口中所有静态变量,同时实现其抽象方法时,在类中编写具体的方法体实现接口。





总结:
        泛化和实现体现的是一种类与类,或者接口与接口或者类与接口之间的纵向关系;至于关联和依赖,则是类与类,或者类与接口之间的横向关系,其中事物中的关系基本上都可以用关联和依赖来表示,但联系较弱,不利于软件系统的开发过程。所以总得来说,四者关系所表现的强弱程度表示为:组合>聚合>关联>依赖.

        对于四种关系,是uml学习过程中的重点。当然并不是说简单对4种关系分析分析就可以画好图的,这同样需要我们在画图的过程中不断实践,不断加强自己对四种关系的理解。

0 0
原创粉丝点击