1. 继承关系:某些类可能是另一些类的子类/派生类,继承父类的属性和方法。例如,汽车和卡车都可以归为“交通工具”的类别,交通工具可以作为它们的父类。
2. 接口关系:接口是定义一系列公共方法的规范,不包含实现。多个类实现同一接口时,它们之间便构成了接口关系。例如,不同的飞禽可以实现“飞行”接口,实现者要实现接口中定义的方法使其可以完成飞行。
3. 关联关系:两个类之间可通过关联进行联系,一个类的实例拥有另一个类的实例作为属性。例如,一个学校和它的教师就有关联关系,学校类中的教师属性表示了学校中的教师; 还有路由器和它的端口也具有关联关系, 路由器类中的端口属性表示了路由器上的端口。
4. 组合关系:组合是强的关联关系,指一个对象需要另一个对象才能进行操作,所以容器对象要包含成员对象。例如,一个汽车就是由引擎、轮胎等零配件组合而成的整体。
5. 组合关系和聚合关系:两种关系类似,但组合关系更为紧密。聚合关系通常体现成集合(数组或链表)作为类的属性表现。例如,一个广场上有多个长椅,每个长椅都可以单独实例化,但本质上它们合在一起组成一个广场,所以这是聚合关系。
6. 依赖关系:指一个对象要完成某个操作依赖于另一个对象的协作,不同于关联和组合,依赖是一种分离的关系。例如,咖啡店中的厨师需要小二提供订单信息,即厨师类依赖于小二类。