5、C++设计模式及实际应用-UML类图(1)

UML类图,主要用于软件设计中反应类与类之间的关系,它也是学习设计模式之前必须熟悉的内容。

类之间存在以下关系:

  • 泛化关系
  • 实现关系
  • 依赖关系
  • 关联关系
  • 聚合关系
  • 组合关系
泛化关系

泛化关系实际就是继承,在我们第二讲继承里面介绍的游戏弹窗界面代码就是一个非常典型的泛化 关系,其UML类图如下:

在这里插入图片描述
由上图可以清晰的看出,SmallDailog、MeduimDailog、LargeDailog继承自BaseDailog,TipsDailog、WarningDailog继承自SmallDailog,FriendDailog、SettingDailog继承自MeduimDailog,DisplayDailog、SettingDailog继承自LargeDailog。

实现关系

实现关系可以理解为一个类实现接口的功能(在C++里面,接口是使用纯虚函数的方式表示的),在第三讲多态里面介绍的图型渲染框架里面就存在这样的关系,其UML图可以这样表示:

在这里插入图片描述
由上图可以看出,Object对象为一个接口类,存在一个抽象方法draw,Cube、Sphere、Cylinder实现了draw方法。

依赖关系

依赖关系定义为对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。
第四讲的模板里面介绍的Renderer和Cube、Sphere、Cylinder之间的关系就为依赖关系,其类图可以表示为:

在这里插入图片描述
很明显,Renderer对象渲染立方体时,实质是通过生成一个Cube对象,然后再调用Cube的draw方法实现的,这符合上文中提到的 一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务 ,所以这是一种依赖关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值