UML中有九种建模的图标,即:
用例图类图工具图顺序图协作图状态图活动图组件图配置图咱们这次重点讲述类图的利用。
类图
1、类的表示
首先看下‘人类’矩形框,它就代表一个类(Class),类图分三层:
第一层:表示类的名称,如果是抽象类,则就用斜体显示第二层是类的特性,常日便是字段和属性。第三层是类的操作,常日是方法和行为把稳:‘+’表示public,‘-’表示private,‘#’表示protected。
2、接口的表示
把稳看上图中接口干系的图,于类图的差异在于顶端有<<interface>>显示。第一行是接口名称,第二行是接口方法,接口还有另一种表示方法,俗称棒棒糖表示法。
3、继续关系的表示
类与类,类与接口之间的关系,关注下人类,男人,少年,小李之间的关系符号。
继续关系是空心三角形+实线表示。 实线接口用空心三角形+虚线来表示
// 继续人类classclass Man extends Human{}
// 实现渗出接口class Ephebe implements excrete{}
4、关联关系的表示
老人和年事是有很大的关联,判断一个人是否老人,须要知道它的年事,当一个类须要‘知道’另一个类时,可以利用关联(association)。关联关系用实线箭头表示
// 在老人类里引用到age工具class Oldman extends Man{ private module = new Age;}
5、聚合关系表示
我们再来看看工人群众和男青年这两个类,工人群众是一个群体并且包含多个男青年,以是他们实在是知足聚合(Aggregation)关系。聚合表示一种弱的‘拥有’关系,表示是A工具可以包含B工具,但是B工具不是A工具的一部分【DPE】。聚合关系用空心的菱形+实线箭头表示。
//在工人群众中 有存男青年工具的数组class Workers{ private module[] = ephebe::work;}
6、合成(组合)关系表示
这是表示一种强的‘拥有关系’,表示了严格的部分和整体的关系,部分和整体的生命周期是一样【DPE】,没什么好说的,这里男人和jj便是合成(组合)关系,由于他们是部分和整体的关系,并且jj和男人生命周期是相同的。组合关系用实心的菱形+实线箭头表示。
把稳这里还有数字‘1’和‘2’这个被称为基数,表明这一真个类可以有几个实例,很明显一个男人该当有2个jj,哦哦 搞错了是一个,大家把稳哈,自行将2改成1哈,只能有一个,多了也没啥用。如果一个类可能有无数个实例则就用‘n’表示,哦对了,关联关系和聚合关系也是可以有基数的
// 在男人class中 布局方法里 实例化jj 它们是同事实例化天生的class Man extends Human{ private jj; public function __construct() { $this->jj = new jj(); }}
7、依赖关系
人都是须要氧气和水的,人类和他们之间是一个依赖的关系(Dependency)用虚线箭头表示。
abstract class Human{ public Metabolism(Oxygen oxygen,Water water){ }}
编程是一门技能,更是一门艺术。