使用UML类图表示类间关系
- 使用UML类图表示类间关系
- 泛化关系(Generalization)
答:泛化关系也就是继承关系,也称为“is-a”关系。用于描述父类与子类之间的关系,父类又称为基类或超类,子类又称为派生类。
在代码实现中,使用面向对象的继承机制来实现泛化关系。Java中用extends关键字;C++或C#中使用冒号实现。
- 实现关系(Realization)
答:实现关系是指借口与实现类之间的实现关系,接口实现类需要实现接口中声明的所有抽象方法。
在Java中,使用关键字implements来表示实现关系。
- 关联关系(Association)
- 聚合(Aggregation)
答:聚合关系表现在部分类对象可以脱离整体类对象而独立存在。在代码实现中,部分类对象通过它的构造器或setter方法注入
- 组合(Composition)
答:组合关系中,部分类对象与整体类对象具有同一的生存期。当整体类对象消亡时,部分类对象也将消亡。或者说,整体类对象控制了部分类对象的生命周期。
在代码实现中,部分类对象在整体类属性声明时或它的构造方法里实例化。
- 依赖关系(Dependency)
答:依赖关系指的是两个事物之间的一种语义关系,表示一个事物发生变化时就会影响另外一个事物。
依赖关系通常是一种使用关系,只要是在类中用到了对方,那么它们之间就存在依赖关系。如果没有对方,连编译都通过不了
在代码实现中,依赖关系通过如下三种方式来体现依赖类:
- 方法参数
- 方法返回值
- 在方法代码中使用了另外的类