写点定义先:
抽象:只定义你想要的属性和操作,不相关的可以省去不写.
继承:类之间的特性传承
多态性:类的名字不同,但有相同的操作名
封装:非公开的属性和操作,这样可以降低类之间的耦合
消息传递:类之间协作的方式
关联:类之间发生关系时的术语.两个类之间可以有多种关联.
多重性:一个类和多个类之间有关联.
聚集:1个类包含N个类,那么主和子之间就有聚集关系.
组成:聚集的加强版,即组成的每个成员都必须存在,缺一不可.
类的可视化例子:
类名:WashingMachine
包名:有包的情况下,可能要把包名写在类名前面,比如:PackageName::WashingMachine
属性: brandName , 更全的例子是 + brandName:String = "TNND"
对象名:myWasher:WashingMachine
操作: +addClothes(C:String)void
职责:写在类图的最下面,记述这个类它要做什么
约束:用{}的格式写在类国的边上,指定个别属性的取值范围.
关系:
关联:类A要在类B 中发挥什么作用时,就用带方向的关联来表示,
关联相关的概念:关联名,角色名,关联上的约束,多重性.
关联类:类A和类B之间的关联,是通过类C来体现的,那么类C就是关联类.
链:相对于类,对象之间的关系叫链.
多重性: 可能1个类A对应N个类B. 例子有 1 1・・* 0,1
限定关联:在多重关联时,类A可能要通过一个指定的属性来识别类B.此时那个属性,就叫做限定符
自身关联:一个类可能同时代表多种角色,那在类图中就可能表现为自已和自己关联
继承:子类继承父类, 用实线空三角形指向父类.用――――――――△(这个三角要右转90度)来表示
相关概念:基类,根类,叶类,单继承,多继承.
依赖:当类A的操作里用到类B时,就说类A依赖类B 用------->来表示
聚集:上面讲过了.图示为: 部分类 ―――――◇ 总的类
组成:同上.图示为: 部分类 ―――――◆ 总的类
接口:听说有两种:1)在类图的类名上面写<>, 2)把类名写成IClassName的格式.
实现:是说类和接口之间的关系,用-------△(这个三角要右转90度)来表示
另外,接口可以简化成一个圆圈.
可见性: + 公有 # 保护 - 私有
有点搞的地方:
1,关联和依赖:简单的说,关联是指把类B定义成类A的属性. 依赖是指,类A的一个方法,用到了类B.
2,聚集和组成:聚集,少几个没问题. 组成,少一个不成. // 其实还是不知道两者有什么实际意义,感觉还是一回事.
阅读(1091) | 评论(0) | 转发(0) |