本篇文章图片截取自刘伟老师UML教程视频中。
关联关系:
简单来说就是一个类的对象到另一个类中做属性,我们称之为关联。
实例:
单向关联:
UML中用带箭头的实线表示。
双向关联:
值得注意的是这边用了数组,同时双向关联中只是一条实线,没有箭头。
自关联:
常见于链表。
多重性关联:
聚合关系:
整体与部分的关系,成员对象可以脱离整体对象独立存在,UML中用带空心菱形的直线表示。
实例中的小知识:构造注入
设值注入(都是给类中的属性赋值的方法,还有一个是依赖注入)
组合关系:
也是整体与部分的关系,但整体对象一旦不存在,成员对象也将不存在,UML中用带实心菱形的直线表示。(因为关系更紧密所以是实心)。
依赖关系:一个类中使用到了另一个类。例如:一个类使用另一个类的对象作为操作的参数,一个类用另一个类的对象作为它的数据成员,一个类向另一个类发消息,一个类使用了另一个类的方法等。
使用到了 另一个类的方法。
依赖关系常见的三种实现方法:
继承关系(泛化关系):
主要用来扩展父类的属性或方法,当然也可以覆盖父类的方法,是一种多态的体现。一个类只能有一个父类。
接口与实现关系:
一个类可以有多个接口,但是具体类必须要实现接口的所有抽象方法。接口的作用主要是为了扩展。代码中用implenments关键字实现。(需要注明的是接口所有的方法都是抽象方法,即空方法,但是抽象类可以有具体的方法但是不能作为对象,即不能new)
UML中增加注释的方法:
UML实例:
多种票价甚至以后会增加不同类型的票价,这是候可以把它们作为层略类来继承一个抽象策略类(Price).。拥有这些策略类的类叫作环境类。
补充UML:
正向工程:模型-->代码(方便程序员编程)
逆向工程:代码-->模型(方便理解代码,利用编程工具构建类图)