类与类之间的关系

UML


uml是统一建模语言  为软件开发提供一些标准的图例,统一开发思想,从而促进团队协作


在软件过程中,会用到UML   (分析、设计、编码、测试、维护)

主流的有:

RUP:rational unified process  合理的统一过程

强调软件开发一开始就要有好的设计 才能有好的设计


XP编程  eXtreme Programming   极限编程 敏捷的软件开发实践

1、用户素材   2、短周期交付   3、结对编程  4、测试驱动开发  5、重构

3:两个工程师合作编程  一个工程师编码 另一个工程师看其编码  交互思想

4:编写测试用例,测试失败 迫使我们编写实际代码 直到所有的测试用例都测试通过

5:不改变软件行为的前提,重构代码,从而改进既有代码的设计


分析:是什么    what

设计:怎么做   how

都可以用UML建模 来提供蓝图   不会偏离思想


静态结构:

类图(class diagram)
对象图(object diagram)
用例图(use case diagram)
组件图(componet diagram)
部署图(deployment diagram)

组合结构图(composite structure diagram)

动态建模:

序列图(sequence diagram)
协作图(collaboration diagram)
状态图(statechart diagram)
活动图(activity diagram)


先介绍类图:

继承(泛化):(generalization)

C++里面是没有接口这个概念的


关联(固定关系) Association    箭头表示有关系


聚合关系:强调整体与局部的关系

整体并不负责局部的声明周期   局部还可以重复利用,可能是共享的

Aggregation


举例:

class B

class A

{

public:

B b_;      //这样子A就负责B的生命周期 显然不合理

B *b_;    //这样子就没有负责释放局部对象   

}

组合关系(比聚合更强)  叶师强调整体与局部之间的关系Composition


组合是A  HAS  B 是固定的

继承   A    IS    B  


依赖关系:


类A依赖于B:

从语义上来上是A use B,偶然的,临时的
B作为A的成员函数参数
B作为A的成员函数的局部变量
A的成员函数调用B的静态方法


总结:

继承体现的是类与类之间的纵向关系,其他4种体现的是类与类之间的横向关系。

关联强弱
依赖<关联<聚合<组合


继承(A is B)
关联、聚合、组合(A has B)    固定的
依赖(A use B)     临时的


类图是可以生成代码的!

在tools->c++->generate code

提示:先在Options中的C++勾选

Generate Codes even when there is no profile

(没有配置文件生成代码)

















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值