一、类
矩形框,代表一个类。类图分为三层:第一层显示类的名称,如果是抽象类,则用斜体显示;第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。
public abstract class AbstractAnimal {
public String life;
public void metabolism(Oxygen oxygen, Water water){}
public AbstractAnimal breed(){
return null;
}
}
二、接口
与类图的区别主要是顶端有<<interface>>,第一行是接口名称,第二行是接口方法。
public interface IFly {
void fly();
}
接口还有另外一种表示方式,俗称棒棒糖表示法
public interface ILanguage {
void speak();
}
三、继承
public class Bird extends AbstractAnimal {
}
四、实现
public class Wildgoose implements IFly {
@Override
public void fly() {
}
}
五、关联
当一个类知道另外一个类时,可以用关联关系来表示。
public class Penguin extends Bird {
private Climate climate;
}
六、聚合
每只大雁都属于一个雁群,一个雁群可以有多只大雁,雁群和大雁之间是一种聚合关系。
聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但是B对象不是A对象的一部分。
public class WildGooseAggregate {
private List<Wildgoose> wildgooseList;
}
七、组合
组合是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
public class Bird {
private Wing wing;
public Bird(Wing wing) {
this.wing = wing;
}
}
八、依赖
动物依赖氧气和水,他们之间是依赖关系。
public abstract class AbstractAnimal {
public void metabolism(Oxygen oxygen, Water water){}
}