剪不断,理还乱——UML的四种关系

    看UML视频已经有一段时间了,但是对于UML中的关系还是不够理解。虽然,UML中只有四种关系,但是还是不太能够区分,有种剪不断,理还乱的赶脚。特此总结。

(一)关联。

关联表示两个或多个类之间的结构性关系。比如,一个学校有多名学生,一名学生属于一所学校。其中,学校有个属性叫做“学生”,学生有个属性叫做“学校”。

   1.整体-部分关系:

   (1)聚合关系:例如,汽车和发动机。

   (2)组合关系:例如,让一个人和他的心脏。

比较整合与组合:

整合:没有整体,也有个体。个体可以独立存在。

组合:先有整体,才有个体。个体随着整体而存在。

    2.普通关联:

      普通关联关系是指,两个类之间有普通的结构关系。比如公司与雇员。

  

(二)依赖。

    依赖,说明一个事物规格说明的变化可能影响到它的另一个事物。说白了,其实就是一种使用关系,就是一个事物对另一个事物方法或者属性的使用。

 

(三)泛化。

    泛化就是继承关系,类似我们平时理解的晚辈与长辈之间“继承”的含义,不过,在面向对象里面,子类继承的是父类的属性或者方法。

   1.单重继承:一个子类有且只有一个父类。

   2.多重继承:一个子类有两个或者两个以上的父类。

 

(四)实现。

    实现是类元之间的语义关系,在该关系中,一个类元描述了一个类元保证实现的契约。比如,类实现了接口。

 

再区分一下依赖和关联!

关联,是指一个类了解或者具有另一个类的属性。

依赖,是指一个知道另一类的属性,并且使用。

 

    在视频里,有一段比较拗口的话“能用继承描述时,用泛化关系;描述类与接口的关系时,用实现关系;两个类之间有结构关系,用关联描述;其他用依赖来描述”。这总结算这几个关系的key了吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值