欢迎来到天天文库
浏览记录
ID:55121224
大小:166.97 KB
页数:4页
时间:2020-04-27
《Uml 类图中六种关系.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Uml类图中六种关系1.泛化(继承)泛化也就是继承,A是父类,B是子类,就称B泛化(继承)了A。在这里泛化可以理解成,是功能的一种延伸,因为B拥有A的特性,并且可以在自己的类中增加新的方法。2.实现这个关系用于定义接口和实现类之间的关系。3.关联关联关系表示两个类之间有持久的联系,会增加被依赖对象的成员变量(如下代码),不过关联对象的赋值是在调用某种方法的时候。class A{ B b; public void XXX(B b){ this.b=b; }; } 上述代码表示:A关联B。例子:关联关系就好像电脑和鼠标,电脑的配
2、置是包括鼠标的,但是到了具体需要鼠标的时候,才会用到鼠标。所以说:类A关联类B,B则是A中不可或缺(成员变量)但是不急着使用(延迟赋值)的一部分。1.依赖依赖关系不会产生成员变量,往往就是某个方法调用的时候,传入的参数会有被依赖的对象。class A{ public void XXX(B b){}; } 上述代码表示:A依赖B例子:依赖关系就好比人和鼠标,人的配置当然不可能包括鼠标,但是人要玩电脑的时候,就需要鼠标。所以说:类A依赖类B,则B不是A的配件(成员变量),但是A在需要实现某个功能的时候需要B(作为参数传递进来)。1.聚合class
3、 A{ B b; A(B b){ this.b=b } } classA{Bb;A(Bb){this.b=b}}聚合可以称作为强关联关系,当一个类聚合另一个类的时候,这个类A在自己实例化时就会给关联的这个对象B赋值。不过,这里关联对象B的实例化不是在A中,所以,B的生存与否,不是由A决定。例子:汽车和轮胎,汽车必须有轮胎才能跑,但是轮胎的生产,可以不在汽车厂而是在别处,轮胎离开这辆汽车,也可以安到其他同型号的汽车上。所以说:类A聚合类B,B则是A不可或缺的一部分,B的赋值在A实例化的时候,但是B的实例化在A的外部,B的生存
4、周期与A无关。2.组合class A{ B b; A(){ this.b=newB() } } 组合也是一种强关联关系。例子:人和心脏,人在由细胞发育过来的时候,心脏就会慢慢生成,人包含心脏,心脏的产生在人的内部,人不能离开心脏,心脏也不能离开人。所以说:类A组合类B,则B是A不可或缺的一部分,B的实例化就在A实例化的时候。B的生存周期取决于A,A消亡,B也消亡。
此文档下载收益归作者所有