一.类图
1.介绍
类图(Class diagram)是UML图中最常用的。主要用在面向对象软件开发的分析和设计阶段,描述系统的静态结构。类图图示了所构建系统的所有实体、实体的内部结构以及实体之间的关系。
2.作用
类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。
3.提醒
IDEA Community版本没有自带的Diagram,旗舰版才有。
二.依赖关系(Dependence)
依赖关系其实非常广泛,只要在类中用到了对方,那么他们之间就存在依赖关系,如果没有对方,连编译都通过不了
public class PersonServiceBean{
public PersonDap personDao;
public void save(Person person){};
public IDcard getIDcard(int personid){};
public void modify(){
Department department=new Department();
}
}
public class PersonDao{}
public class Person{}
public class IDcard{}
public class Department{}
三.泛化关系(generalization)
泛化关系实际上就是继承关系,是依赖关系的特例
public abstract class Animal{
public void run(){};
public void eat()();
}
public class Cat extends Animal{
}
四.实现关系(Implementation)
实现关系实际上就是A类实现了B类方法,是依赖关系的特例
public interface Animal{
public void eat();
}
public class Cat implements Animal{
public void eat(){};
}
五.关联关系(Association)
关联关系实际上是类与类之间的联系,是依赖关系的特例;关联具有导航性,单向或双向的关系;具有多重性;
//单项关系
public class Person{
private IDcard idcard;
}
public class IDcard{}
//双向关系
public class Person{
private IDcard idcard;
}
public class IDcard{
private Person person;
}
六.聚合关系(Aggregation)
聚合关系表示的是整体和部分的关系,两者可以分开,是关联关系的特例,所以具有关联的导航性和多重性
public class Compute{
private Mouse mouse; //可分离
private Monitor monitor; //可分离
public void setMouse(Mouse mouse){
this.mouse=mouse;
}
public void setMonitor(Monitor monitor){
this.monitor=monitor;
}
}
七.组合关系
组合关系是整体和部分的关系,两者之间不可分开
public class Person{
private IDcard card;
private Head head=new Head();
}
public class IDcard{}
public class Head{}