一、类
类是面向对象系统组织结构的核心,类是对一组具有相同属性、操作、关系和语义的对象的描述
二、类的关系
1、关联:
关联类:两个对象之间的连接本身可以拥有自己的属性和行为,如果把连接看作是一个类的实例,则称该实例为关联类:自身关联:一个对象与另一个同类的对象有连接,即类可以与自身有关系
(1)普通关联:
应用于关联的修饰
1)名称:用于描述该关系的性质
2)角色:角色是关联中靠近它的一端的类对另外端的类呈现的职责。
3)多重性:关联角色的多重性说明一个关联的实例中有多少个相互连接的对象
(2)聚合:聚合关系是一种特殊类型的关联,它表示整体与部分关系的关联。
(3)组合:组合关系是聚合关系中的一种特殊情况,是更强形式的组合关系,又被称为强聚合。
组合和聚合的差别:火车里面的发动机(聚合);链表,节点不能脱离链表而存在(组合)
2、依赖
依赖是一种使用关系,他说明一个事物规格说明的变化可能影响使用它的另一事物。但反之未必,三角形指向被依赖的类
3、泛化
描述类和类之间的继承关系,三角形指向被继承的类
1)继承的分类
单重继承:一个子类有且只有一个父类
多重继承:一个子类有两个或两个以上的父类,会出现二义性
4、实现
是规格说明和其实现之间的关系,他将一种模型元素与另一种模型元素连接起来,比如类和接口。
实现关系在接口与实现该接口的类之间;在用例以及实现该用例的协作之间
三、类图的构成
作用:用来描述系统的静态部分
构成:类、接口、协作、关系、包或子系统
名词抽象为类,然后找其属性
四、类图的深入讨论
可见性、范围、属性、操作、模板类、实用类
1、可见性的表示方法
public(公有的):+
Protected(保护的):#
Private(私有的):-
package(高级别):~
2、范围
每个实例自己拥有自己的属性和方法
静态成员:对一个类的所有实例共享一个成员
3、抽象类(abstract):
不能实例化——利用继承