为了账号安全,请及时绑定邮箱和手机立即绑定

UML:类图复习-鸡生蛋,蛋生鸡

标签:
前端工具

这是前一阵《高级软件工程》课堂上,老师随堂出的一道讨论题,随手贴在这里:

ps: 今天是520,正好聊一些OoXx,关于爱的扯淡话题:)

题目:“鸡生蛋,蛋孵鸡”,世间万物生生不息,如何用O-O中的类图以尽可能接近现实的方式来描述?

参考答案:

https://img1.sycdn.imooc.com//5afe83290001e5e604050350.jpg

解析:

1、Chicken是基类,Hen(母鸡),Cock(公鸡)从Chicken派生,

2、Hen与Egg是关联关系,注意关联关系中的“重数”表示,从Hen向Egg的方向看去,0..*表示1只母鸡,可能下“0或多”个蛋,而反过来,1只蛋,却只能由1只母鸡所生

3、Egg与Chicken也是关联关系,类似的,从Egg向Chicken的方向看去,0..1表示这只蛋,有可能孵化出1只鸡(不论公母),也有可能孵不出来(这是1个悲惨的蛋)

4、Hen与Cock也有关联关系,1只公鸡可能与0或多个母鸡OOXX,反过来也是类似的道理

5、虚线表示“关联关系类(Association Class)”,Hen与Cock发生关系后,所生的蛋才能称为受精蛋(爱的结晶),才有可能孵化出1只小鸡,这也正好对应了解析中的第3点,但是我们也知道,这世上Hen单靠自己,也能下蛋,只不过孵不出小鸡(个人觉得这是鸟类一个比较NB的功能)

 

注:

关联关系类,技术层面讲,就是建一个小类,记录Hen,Cock这二个的ID

商城系统中,有很多类似的应用,比如Product(商品)与Category(商品分类),如果一个商品可按不同标准归到多个类,通常会在database中新建一张小表,记录Product与Category的ID映射,这张表对应的Class,就是关联关系类

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消