UML类图属于结构图,常被用于描述一个系统的静态结构。一个UML类图中通常包含类的UML图,接口的UML图,泛化关系的UML图,关联关系的UML图,依赖关系的UML图和实现关系的UML图。
类的UML图
在类的UML图中,使用一个长方形描述一个类的主要构成,将长方形垂直地分为三层。
第1层是名字层,如果类的名字是常规字形,则表明该类是具体类;如果类的名字是斜体字形,则表明该类是抽象类。
第2层是变量层,也称属性层,列出类的成员变量及类型,格式是“变量名字:类型”,在用UML表示类时,可以根据设计的需要只列出最重要的成员变量的名字。
如果变量的访问权限是 public,则需要在变量的名字前面用“+”符号修饰;
如果变量的访问权限是 protected,则需要在变量的名字前面用“#"符号修饰;
如果变量的访问权限是private,则需要在变量的名字前面用“-”符号修饰;
如果变量的访问权限是友好的,则变量的名字前面不使用任何符号修饰。
第3层是方法层,也称操作层,列出类的方法及返回类型,格式是“方法名字(参数列表):类型”
在用UML类时,可以根据设计需要只列出最重要的方法。
方法的访问权限是public,则需要在方法的名字前用的“+”号修饰;
方法的访问权限是 protected ,用“#”符号修饰;
方法的访问权限是private,用“-”符号修饰;
方法的访问权限是友好的,则方法的名字前面不使用任何符号修饰。
方法是静态方法,则在方法的名字下面添加下划线。
表示接口的UML图
使用一个长方形描述一个接口的主要构成,分为3层。
第1层是名字层,接口的名字必须是斜体字形,用<<interface>>修饰名字。
第2层是常量层,列出接口中的常量及类型,格式是“常量名字:类型”。
接口中常量的访问权限都是public,在常量名字前用“+" 符号修饰。
第3层是方法层,也称操作层,列出接口中的方法及返回类型,格式是“方法名字(参数列表):类型”。接口中方法的访问权限都是public,在方法名字前面用“+"符号修饰。
泛化关系
泛化关系(Generalization) 指类的继承关系。如果一个类是另一个类的子类,那么 UML通过使用一个实线连接两个类的UML图来表示二者之间的继承关系,实线的起始端是子类的UML图,终点端是父类