UML
符号
类: 三层
第一层名称 可见性 名称:类型
第二层属性 可见性 名称()
第三层方法(我们好像不要求写方法)
‘+’表示public,‘-’表示private,‘#’表示protected
对应
1 只有1 (默认)
0…1 0或1
0…* (or just ) 0或多
0…3 0到3
3,7 3或7
1… 1或多
0…3,7,9…* 0到3, 7 , 9到多
关系
关联(Associations) :默认情况下是双向的
关联分为三种,其实我觉得默认也算一种,
1 单向关联(Directed Association) : 有联系即可
符号:实线箭头,多对多? 箭头上要写上具体的关系是什么,比如这个例子是合作
举例:
2 聚合(Aggregation):从属关系,部分可以脱离整体存在
符号:空心菱形箭头,多对1
举例:
3 组合(composition):更强的聚合,部分不能脱离整体而存在
符号:实心菱形箭头,多对1
举例:
泛化和特化
泛化:是描述类与类之间的继承关系,从特殊到一般.从子类到超类.
特化:是一般到特殊.从超类到子类.
符号:空心三角形箭头
举例:
聚合和泛化的比较:
聚合是与对象有关,连接的是不同的对象 A university has members.
泛化是与类有关,连接的是同一对象 A rectangle is a geometrical figure
继承和特化的比较:
特化:子类会继承所有父类的属性,并增加新的属性, 子类也可以继承或者重写父类的方法.
多态:重写会就会形成多态,也就是同名的方法,对不同类使用,会产生不同的效果.