选择题 10.  UML类图中类与类之间的关系有5种:依赖、关联、聚合、组合与继承。若A类需要使用标准数学函数类库中提供的功能,那么类A与标准类库提供的类之间存在(Ⅰ)关系;若A类中包含了其他类的实例,且当类A的实例消失时,其包含的其他类的实例也消失,则类A和它所包含的类之间存在(Ⅱ)关系;若类A的实例消失时,其他类的实例仍然存在并继续工作,那么类A和它所包含的类之间存在(Ⅲ)关系;在下面选项中,正确的是______。
【正确答案】 A
【答案解析】 依赖、关联、聚合、组合与继承是UML中类之间的几种常见关系,以下将分别对这几种关系进行解释说明。
   (1)依赖
   一个类A使用到了另一个类B,而这种使用关系是偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。例如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖。
   (2)关联
   关联体现的是两个类或者类与接口之间语义级别的一种强依赖关系,例如你是我的朋友,我也是你的朋友。这种关系比依赖更强,不存在依赖关系的偶然性,关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的,关联可以是单向、双向的。
   (3)聚合
   聚合是关联关系的一种特例,体现的是整体与部分、拥有的关系,即has-a的关系,例如公司与员工、计算机与CPU就是聚合关系。
   (4)组合
   组合是关联关系的一种特例,体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它体现整体与部分问的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,例如人与心脏。
   (5)继承
   继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。
   本题中,依赖是几种关系中最弱的一种关系,通常,使用类库就是其中的一种关系。聚合与组合都表示了整体和部分的关系。组合的程度比聚合高,当整体对象消失时,部分对象也随之消失,则属于组合关系,当整体对象消失而部分对象依然可以存在并继续被使用时,则属于聚合关系。所以,选项A正确。