类图
UML中的类图(Class Diagram)用于表现 类、接口、实例等之间相互的静态关系。虽然名字叫做类图,但是图中并不仅仅只有类。
类与层次结构
abstract class ParentClass {int field1;static char field2;abstract void methodA();double methodB(){return 0.0;}}class ChildClass extends ParentClass{@Overridevoid methodA() {}static void methodC(){}}

上图展示了ParentClass和ChildClass两个类之间的关系,其中空心箭头表明了两者之间的层次关系。箭头由子类指向父类。这表示继承。
上图中,长方形内部被横线分为三个区域
- 类名
- 字段名
- 方法名
静态字段带有下划线,如field2。抽象方法用斜体表示。静态方法有下划线。
接口与实现
public interface Printable {abstract void print();abstract void newPage();}class PrintClass implements Printable{@Overridepublic void print() {}@Overridepublic void newPage() {}}
聚合

public class Basket {Fruit[] fruits;}class Fruit{Color clolr;}class Color{}
将“持有”关系称为聚合(aggregation)。
在UML中使用空心菱形的实线表示聚合关系。
可见性(访问控制)
“+”表示public方法和字段
“-”表示private方法和字段
“#”表示protected方法和字段(能够访问这些字段的只能是该类自身、该类的子类以及同一包中的类)
“~”表示只有同一包中的类才能访问字段和方法
类的关联

