类
类包括类名、属性和方法三个部分,并被横线分割开来。
类名:Employee
属性:name, age, email
方法:modifyInfo()
其中的符号(+、-、#)的意义为:
+:public
-:private
#:protected
属性的完整表示为 可见性 名称:类型 [ = 缺省值] 中括号中的内容可选
方法的完整表示为 可见性 名称(参数列表)[ : 返回类型] 中括号中的内容可选。
比如上图中的类,定义了三个方法:
Public method1()接收一个Object的参数,返回值类型为void
Protected方法method2()无参数,返回值类型为String
Private方法method3()接收类型分别为int、int[]的参数,返回值类型为int
类与类之间关系的表达方式
关联关系,包括单向关联,双向关联和自关联。
单向关联
单向关联用单箭头直线表示。如上图,每个顾客都有一个地址,这通过让Customer类持有一个类型为Address的成员变量类实现。
双向关联
双向关联用直线表示,即双方都有对方类型的成员变量。如上图,Customer类中有一个product[]数组,表示一个顾客购买了哪些产品;product类中维护一个Customer类型的成员变量表示这个产品被哪个顾客所购买。
自关联
自关联用指向自己的直线表示。如上图,Node类包含类型为Node的成员变量,自己包含自己。
聚合关系
聚合关系用空心菱形和箭头直线表示。强调的是整体包含部分,但是部分可以脱离整体单独存在。比如汽车包含发动机,发动机脱离汽车也能单独存在。
组合关系
与聚合关系相比,组合关系中的部分脱离了整体便不复存在。
依赖关系
依赖关系用带箭头的虚线表示。如上图中Driver中的drive只有导入一个Car对象才能发挥作用,因此Driver类依赖于Car类。
继承关系
继承关系用空心三角直线表示,如上图中Student和Teacher都继承了Person类。
接口实现关系
接口实现关系用带空心三角的虚线表示,如上图Car与Ship都实现了Vehicle的接口。