类与类之间一共有5种关系:
①继承(泛化)
②依赖
③关联
④聚合
⑤组合
① 继承就是一个子类拥有父类可继承的方法和属性,并可以自己增加方法或者属性,这个比较容易理解。
② 依赖表现在A类的方法参数中必须引用B类的对象。
③关联表现在A类中拥有B类的引用变量。
④聚合与关联关系比较接近,关联关系和聚合关系来语法上是没办法区分的,从语义上才能更好的区分两者的区别。
关联关系中的2个类是同一个层次上的,是平等的,比如人和自行车是一种关联关系,因为人不是由自行车组成的;而 聚合关系中的2个类是出于不平等的层次上,如电脑和它的键盘就是聚合关系,因为键盘是电脑的组件。
⑤组合关系可以说是强聚合关系,组合关系中的整体一旦被销毁,部分也会销毁,2者紧紧相连,如你和你的大脑。
聚合与组合的区别:就拿上面的例子说,
一个键盘属于A电脑,A电脑被销毁,但键盘可以用到B电脑上,这是聚合。
但是,你一旦被销毁,你的大脑也随之被销毁,这个组合,2者紧紧相连。
几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖;
这是自己从http://zhongkem.javaeye.com/blog/430811这里总结出来的~~借鉴的啦~~呵呵~~