一、用于描述系统中的对象类本身的组成和对象类之间的各种静态关系。
二、类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合。
class Person{
private $id;
private $name;
public function setName($name){
$this->name=$name;
}
public function getName(){
return $this->name;
}
}
类图如下:
1、类图-依赖关系
只要实在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编译都通过不了。
类图如下:
2、类图-泛化关系
泛化关系实际上是继承关系,它是依赖关系的特例。类图如下:
3、类图-实现关系(Implementation)
实现关系实际上就是A类实现B类(接口),它是依赖关系的特例。类图如下:
4、类图-关联关系(Association)
关联关系实际上就是类与类之间的联系,他是依赖关系的特例。
关联具有导航性:即双向关系或单向关系。
关系具有多重性:如“1”(表示有且仅有一个),“0...”(表示0个或者多个),“0,1”(表示0个或者一个),“n...m”(表示n到 m个都可以),“m...*”(表示至少m个)。
①单向一对一关系,类图如下:
②双向一对一关系,类图如下:
③自关联,类图如下:
5、类图-聚合关系(Aggregation)
聚合关系表示整体和部分的关系,整体和部分可以分开,聚合关系是关联关系的特例,所以他具有关联的导航性和多重性。如一台电脑由主机、键盘、显示器、鼠标等组成,组
成电脑的各个组件可以从电脑上分离出来。类图如下:
6、类图-组合关系(Composition)
组合关系也是整体和部分的关系,但是整体和部分不可以分开。例如:我们定义了两个实体,Person和IDCard,删除Person时,会连同IDCard一起删除。类图如下: