UML类图是一种结构图,用于描述一个系统的静态结构。类图以反映类结构和类之间关系为目的,用以描述软件系统的结构,是一种静态建模方法。类图中的类,与面向对象语言中的类的概念是对应的。
1 类结构
在类的UML图中,使用长方形描述一个类的主要构成,长方形垂直地分为三层,以此放置类的名称、属性和方法。
body{margin:0;padding:0}
其中,
一般类的类名用正常字体粗体表示,如上图;抽象类名用斜体字粗体,如User
;接口则需在上方加上<<interface>>
。
属性和方法都需要标注可见性符号,+
代表public
,#
代表protected
,-
代表private
。
另外,还可以用冒号:
表明属性的类型和方法的返回类型,如+$name:string
、+getName():string
。当然,类型说明并非必须。
2 类关系
类与类之间的关系主要有六种:继承、实现、组合、聚合、关联和依赖,这六种关系的箭头表示如下,
body{margin:0;padding:0}
接着我们来了解类关系的具体内容。
3 六种类关系
六种类关系中,组合、聚合、关联这三种类关系的代码结构一样,都是用属性来保存另一个类的引用,所以要通过内容间的关系来区别。
3.1 继承
继承关系也称泛化关系(Generalization),用于描述父类与子类之间的关系。父类又称作基类,子类又称作派生类。
继承关系中,子类继承父类的所有功能,父类所具有的属性、方法,子类应该都有。子类中除了与父类一致的信息以外,还包括额外的信息。
例如:公交车、出租车和小轿车都是汽车,他们都有名称,并且都能在路上行驶。
body{margin:0;padding:0}
PHP代码实现如下: