1. 组合关系.
1个对象是由多个对象组合起来的.
比如.计算机对象.是由主板对象、CPU对象、内存对象、硬盘对象...组合起来的.
主板、内存、硬盘作为计算机对象的属性.
那么这个时候,计算机对象和主板、内存、硬盘的关系为组合关系.
2. 依赖关系
1个对象的方法的参数是另外1个对象.那么我们就说他们的关系是依赖关系.
比如,B类是A类方法的参数,我们就说A类依赖于B类.
美女打电话的例子.
人类:
callWithPhone:(Phone *)phone;
我们就说人类依赖于电话类.人要打电话就必须要有电话对象.
电话类:
耦合度: 当修改1个对象的时候对另外1个对象的影响程度.
1个类修改了另外1个类就玩完.
低耦合:当修改1个对象的时候对另外1个对象的影响较小甚至没有影响.
高内聚: 1个对象仅仅做自己相关的事情.
单一职责原则. 1个类只做自己的事情.别人的事情给别人做.
eatShit;
3. 关联关系
关联体现的是两个类之间语义级别的一种强依赖关系,
比如我和我的朋友,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,
而且双方的关系一般是平等的。关联可以是单向、双向的。
表现在代码层面,
为被关联类B以类的属性形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。
案例:人使用iPad听歌.
4 继承关系
面向对象编程(OOP)语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。