网站大量收购闲置独家精品文档,联系QQ:2885784924

UML类图关系模式..doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UML类图关系模式.

UML类图关系模式及C++代码说明(转载) 在UML类图中的关系模式主要有以下几种: 泛化(Generalization),??实现(Realization), 关联(Association), 聚合(Aggregation), 依赖(Dependency) 等. 1. 泛化(Generalization) ??????泛化关系: 是一种继承关系, 表示一般与特殊的关系, 它指定了子类如何特化父类的所有特征和行为. 老虎是动物的一种, 即有老虎的特性也有动物的共性.??见下图: 用代码表示如下: 程序代码 // Animal.h class CAnimal { public: ????// implement ????virtual HRESULT EatSomething() ????{ ????????// Do something ????} }; // Tiger.h #include Animal.h class CTiger : public CAnimal { ????// Do something }; 2. 实现(Realization) 实现关系: 是一种类与接口的关系, 表示类是接口所有特征和行为的实现. 见下图: 用 代码表示如下: 程序代码 // Animal.h class CAnimal { public: ????// interface ????virtual HRESULT EatSomething() = 0; }; // Tiger.h #include Animal.h class CTiger : public CAnimal { ????// Do something }; 注: 泛化和实现的区别就在于子类是否继承了父类的实现, 如有继承则关系为泛化, 反之为实现. 3. 关联(Association) 关 联关系: 是一种拥有的关系, 可以分为双向关联, 单向关联和自身关联. 双向关联是指双方都拥有对方的引用, 都可以调用对方的公共属性和方法. 见下图: 用 代码表示如下: 程序代码 // Husband.h #include wife.h class CHusband { public: ????CWife* pWife; }; // Wife.h #include Husband.h class CWife { public: ????CHusband* pHuband; }; 上图中丈夫和妻子是比较公平的关系, 都可以使用对方公共的属性. 单向关联是指 只有某一方拥有另一方的引用, 这样只有拥有对方者可以调用对方的公共属性和方法. 如下图: 用 代码表示如下: 程序代码 // Husband.h class CHusband { public: ????int nMoney; ????void GoShopping(); }; // Wife.h #include Husband.h class CWife { public: ????CHusband* pHuband; }; 上图中妻子拥有 丈夫, 可以使用对方的属性, 比如钱, 可以让对方做能做的事, 比如去买东西. 自身关联是指拥有一个自身的引用. 如下图 用代码表示如下: 程序代码 // SingleMan.h class CSingleMan { public: ????CSingleMan *pSingleMan; }; 4. 聚合(Aggregation)和组合(Composition) 聚合关 系: 是整体与部分的关系, 且部分可以离开整体而单独存在. 如车和轮胎是整体和部分的关系, 轮胎离开车仍然可以存在. 组合关系: 是整体与部分的关系, 但部分不能离开整体而单独存在. 如公司和部门是整体和部分的关系, 没有公司就不存在部门. 用代码表示如下: 程序代码 // Car.h #include Tyre.h class CCar { public: ????CTyre cTyre; }; // Tyre.h #include Car.h class CTyre { ????// Do something }; 程序代码 // Company.h #include Department.h class CCompany { public: ????CDepartment cDepartment; }; // Tyre.h #include Company.h class CDepartment { ????// Do something }; 5. 依赖(Dependency) 依赖关系: 是一种使用的关系,??即一个类的实现需要另一个类的协

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档