uml 大纲:
1注释
2类
3接口
4类与类之间的关系
4.1依赖
4.2继承
4.3实现
4.4关联
4.5聚合
4.6组合
1注释:
可以有多个注释指向一个,注释的虚线它既可以单纯的指向这一行也可以指向这个整体。
2类:
第一行类的名称
第二行类的属性
第三行类的方法
+为public
-是private
#是protected
属性:作用域 名称 : 返回类型
方法:+method1():double
#method2(a:int):string
-method3(a:int,b[]:int):double
3接口
与类大体相似接口名称一般以大写I开始
不过多了
还有一种棒棒糖表示法 圆圈旁边就是接口名称没有具体实现方法
不经常使用
4类与类关系:
4.1依赖
只要一个类中用到了另一个类 即为依赖
public class A{
private B b;
public C c(D d){E e=new E();}
}
其中类A 用到了 BCDE类
分别是类的成员属性,方法的返回类型,参数类型,方法中使用
4.2关联
一般是一个类的属性用另一个类来定义
是依赖关系的特例:
导航性:双向关系或单向关系
多重性:
单向一对一关系:
pubic class A{private B b;}
其中1对1可以省略 1对多个就加上
双向一对一关系:
pubic class A{private B b;}
pubic class B{private A a;}
4.3继承
也是依赖关系的特例
也称泛化关系
4.4实现:
也是依赖关系的特例
类来实现接口
4.5,4.6聚合组合:
都表示整体与部分的关系 ,都是关联关系的特例,即都有多重性和导航性
不过
聚合 整体和部分可以分开
组合 整体和部分不可分开 即删除整体 部分也会删除(更强烈)
A与C之间是聚合关系 A与B之间是组合关系
A为整体
( 其中可不可以分开具有主观色彩)
聚合:
class A{
private B b;
private C c;
public setB(B b){this.b=b;}
public setC(C c){this.c=c;}
}
建立A的同时不一定分配内存建立BC,需要调用set
组合:
class A{
private B b=newB();
private C c=newC();
public setB(B b){this.b=b;}
public setC(C c){this.c=c;}
}
建立A的同时也分配内存建立了BC
导航性:C聚合到A
B组合到A
多重性:聚合多个C 多重聚合 一个就单聚合
组合多个C 多重组合 一个就单组合
总结: