UML类图关系(C++)

♀ 双向关联(Association)


CAssociation1和CAssociation2可以互相调用对方的公共成员函数和成员变量。代码触析:
[cpp]  view plain  copy
  1. class CAssociation1  
  2. {  
  3. private:  
  4.     CAssociation2* m_pAssociation2;  
  5. };  
  6.   
  7. class CAssociation2  
  8. {  
  9. private:  
  10.     CAssociation1* m_pAssociation1;  
  11. };  

♀ 单向关联(DirectedAssociation)

CDirectedAssociation1可以调用CDirectedAssociation2的公共成员函数和成员变量。代码触析:
[cpp]  view plain  copy
  1. class CDirectedAssociation1  
  2. {  
  3. private:  
  4.     CDirectedAssociation2* m_pDirectedAssociation2;  
  5. };  
  6.     
  7. class CDirectedAssociation2  
  8. {  
  9. };  

♀ 自身关联(DirectedAssociation)


自己引用自已。代码解析:
[cpp]  view plain  copy
  1. CSelfDirectedAssociation  
  2. {  
  3. private:  
  4.     CSelfDirectedAssociation* m_pSelf;  
  5. };  

♀ 聚合(Aggregation)


CAggrergator是聚合者,CAggregated是被聚合者。 被聚合者可以离开聚合者而独立存在 ,比如CDialog聚合CDialog,代码解析:
[cpp]  view plain  copy
  1. class CAggregator  
  2. {  
  3. private:  
  4.     CAggregated m_aggregated;  
  5. };  
  6.   
  7. class CAggregated  
  8. {  
  9. };  

♀ 组合(Composition)


CCombination是组合者,CCombined是被组合者。 被组合者不能离开组合者而独立存在 ,比如行组合单元格。代码解析:
[cpp]  view plain  copy
  1. class Combination  
  2. {  
  3. private:  
  4.     CCombined m_combined;  
  5. };  
  6.             
  7. class CCombined  
  8. {  
  9. };  

♀ 依赖(Dependency)


CDependent中功能的实现会用到CDepended中的功能。比如CDialog可以用CFileDialog完成文件保存功能。代码解析:
[cpp]  view plain  copy
  1. class CDependent  
  2. {  
  3. };  
  4.   
  5. class CDepended  
  6. {  
  7. };  
    ♂ 关联、聚合和组合、依赖的区别
  • 关联表示类之间的一种关系
  • 聚合和组合表示整体与部分的关系
  • 依赖是一种弱关联,表示一个类用到另一个类,但是和另一个类的关联又不是很明显

♀ 泛化-继承(Generalization)


CChild继承了CParent,代码解析:
[cpp]  view plain  copy
  1. class CParent  
  2. {  
  3. };  
  4.   
  5. class CChild:  
  6.     public CParent  
  7. {  
  8. };  

♀ 模板


代码解析:
[cpp]  view plain  copy
  1. template<typename T>  
  2. class CTemplate  
  3. {  
  4. };  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值