类关系简介

个人理解,类有三种关系:继承关系,依赖关系,关联关系,其中继承关系包括泛化关系和实现关系,关联关系包括聚合关系和组合关系。关联关系还可以分为双向关联,单向关联,自身关联。

继承关系是"is a"的关系,主要发生在class之间继承的场景,其中泛化关系主要指class A is a class B或interface A is a interface B,而实现关系主要指class A is a interface A,C++中没有interface的关键字,但是纯虚类可以认为是interface。

依赖关系是"use a"的关系,主要发生在class之间调用的场景,主要指class A use a class B。

关联关系是"has a"的关系,主要发生在class之间包含的场景,主要指class A has a class B。其中聚合关系是指class B的生命周期可以独立于class A而存在,是一种相对弱的关联,而组合关系是指class B与class A的生命周期一致,class B随着class A的构造而构造,随着class A的析构而析构。

你可能感兴趣的:(类关系简介)