继承:空心三角形箭头的实线,子类指向父类。代码中通常有extends关键字(Java)。

实现:空心三角形箭头的虚线,实现类指向接口。代码中通常有implements关键字(Java)。
关联:通常是类A中需要引用另一个类B的实例作为成员变量,表示类A需要“知道”类B。实线箭头,类A指向类B。

依赖:通常是类A中的方法需要类B的实例作为其参数或者变量,而类A本身并不需要引用类B的实例作为其成员变量。虚线箭头,类A指向类B

聚合:通常是类A中需要包含另一个类B的实例或实例的集合,表示一种弱的“拥有”关系,即类A包含类B,但类B不是类A的一部分,而是一个独立存在的类。尾部为空心菱形的实线箭头,类A指向类B。

合成:通常需要在实例化类A的同时在其构造方法之中实例化类B,使类B作为类A的一部分,表示一个强的“拥有”关系,即类B是类A的一部分,二者共生命周期,具有严格的“整体—部分”关系。尾部为实心菱形的实现箭头,类A指向类B。

本文深入探讨了面向对象编程中继承和关联关系的概念,详细解释了它们在类之间的相互作用方式,包括如何通过extends关键字实现继承,以及如何使用箭头表示类之间的依赖和关联。同时,文章还区分了继承与关联的不同类型,如聚合、合成等,并通过实例代码进行说明。
3204

被折叠的 条评论
为什么被折叠?



