UML ,类的关系解析

来源:互联网 发布:小米手机抢购软件 编辑:程序博客网 时间:2024/06/14 09:05


1.依赖关系:

是一种使用关系,表示一个事物使用其他事物时的一种使用关系。比如,人(类)有开车的操作,这时你必须要给我一辆车(类)人才能执行这个操作。其具体形式是:void Driver(Car car);在UML图中,是使用虚线带箭号表示的,由依赖一方指向被依赖一方;

表现形式:1. 在一个类的某个操作,使用了其他的类作为参数

     2.在一个类的某个操作函数中,定义了其他类的局部变量;

     3.对静态方法的调用;

2.泛化与实现(两者都是一种类继承):在UML中主要用于接口与接口,类与接口中。UML中,用实线带空心三角行表示,由继承一方指向被继承一方;

区别:主要看子类是否继承了父类的实现(非纯虚函数),如果继承了则为泛化,否则为实现。(或者讲父类如果是有纯虚函数,子类继承父类并实现了纯虚函数,则是实现)

代码:(实现的例子:)

class CAnimal

{     virtual HRESUlT EatSomething()=0; };class Tiger{    virtual HRESUlT EatSomething()   {   }};

3.关联(连接):

1.双向关联:两个类都知道对方的存在。表现在两者都包含有对方的一个指针或引用

2.单向关联:两个类A,B,A知道B,B不知道A.。表现在A包含了一个B的指针或引用

自身关联:带有一个自己的引用或指针

4.聚合/组合:

这两个可以理解成特殊的关联关系,其表现形式与关联一样,两者的共同的是描述整体与部分的关系(一般的关联是相互独立的,这两者存在的整体——部分包容关系),而两者间的区别:在于其部分与整体的生命周期不同组合相比于聚合,组合是一种耦合度更强的整体与部分的关联关系,整体负责部分的生命周期,他们是同生共死的,并且单独存在时没有任何意义。比如:灵魂和肉体的关系,不可单独存在,他们必须作为人的组成部分。聚合表示整体与部分不存在同生共死的关系,比如:电脑与显示器,cpu的关系。cpu坏了,显示器还可以换台电脑接着用。

其关系强度:组合>聚合>关联

0 0
原创粉丝点击