---------类与层次结构
《展示类的层次关系的类图》
示例代码如下:------》UML图
说明:(1)、其中空心箭头表明了两者之间的层次关系。箭头由子类指向父类,换言之,这表表示继承的箭头。
(2)、图中的长方形表示类,长方形内部被横线自上而下分成3个区域:
****类名
****属性
****方法名
(3)、abstract 类(抽象类)的名字以斜体方式显示;
static 属性(静态属性)的名字带有下划线;
abstract 方法 (抽象方法)的名字以斜体方式显示;
static 方法(静态方法)的名字带有下划线。
(4)、在定义子类时需要通过 extends 关键字指定父类。因此,子类一定知道父类的定义,而反过来,父类并
不知道子类的定义。只有在知道对方的信息时才能指向对方,因此箭头方向是从子类指向父类。
------------接口与实现
《展示接口与实现类的类图》
说明:(1)、UML以<<interface>>表示 java的接口。
(2)、带有空心箭头的虚线箭头代表了接口与实现类的关系,箭头从实现类指向接口。换言之,这是表示实现的箭头。
-----------------聚合
《展示聚合关系的类图》
说明:(1)、在一个Basket 类的实例中可以持有多个 Fruit 类的实例;Fruit 类中的 color
属性是 Color 类型,一个 Fruit 类实例中只能持有一个 Color 类的实例。
通俗地说就是在篮子中可以放入多个水果,每个水果都有其自身的颜色。
(2)、我们将这种“持有”关系称为聚合。只要在一个类中持有另外一个类的实例,
它们之间就是聚合关系。
(3)、使用带有空心菱形的实线表示聚合关系。
-------------可见性(访问控制)
《标识出了可见性的类图》
说明:(1)、"+" 表示 public 方法和字段,可以从类外部访问这些方法和字段;
”-“ 表示 private 方法和字段,无法从类外部访问这些方法和字段;
”#“ 表示 protected 方法和字段,能够访问这些方法和字段的只能是该类自身、该类的子类以及同一包中的类;
”~“ 表示只有同一包中的类才能访问的方法和字段。
-------------类的关联
《类的关联》
说明:可以在类名前面加上黑三角表示类之间的关联关系。