类与类之间的依赖与关联关系。依赖是指某一个类,使用了另外一个类,也就是在类A中的某一个函数参数使用了另外一个类B,是一种临时使用类B的情况,那么说二者是依赖关系。当类A中存在一个数据成员是类B时,与类B的关系是固定的,这二者的关系就是关联关系。

组合关系是关联的一种,二个类的生命周期相同。一个类生命周期结束时,另外一个类的生命周期同时结束。

聚合关系是关联关系的一种,就是类A中含有不同的类B,类C,类D等。B,C,D之间可以相互替换。比如你造了一个类叫“吃蔬菜”,其中成员可以包括“叶类蔬菜”,“根类蔬菜”,“茎类蔬菜”,你吃什么都可以,这类关系就叫聚合关系。当然也可以造一个类叫“吃蔬菜的方法”,二者的区别在于生命周期是否一样。吃蔬菜的类动作完成时,蔬菜的生命周期也结束了。吃蔬菜的方法构建完成时,蔬菜还在,二者生命周期不一样。

组合就是“吃叶类蔬菜”,当吃这个动作结束的时候,蔬菜的生命周期也结束了。

关联就是“吃叶类蔬菜的方法”,必须含有一个叶类蔬菜的类,及各种方法的成员。当方法构建完成时,叶类蔬菜还在,生命周期没有结束。

依赖就是“吃饭的流程类”,其中不含有叶类蔬菜这个元素,只是在吃饭的流程中某一个成员动作中,含有了叶类蔬菜这个类。详细的说就是吃饭的流程成员包括:准备食材,做饭,吃饭,清洗碗筷。可能在准备食材这个函数动作中,有一个函数参数叫作叶类蔬菜,但叶类蔬菜并不是吃饭流程的成员。这个关系就叫做依赖。