设计模式作业2

设计模式作业2.

注释(comment)

注释就是对类图的补充说明,可以附加在任何元素上,用 右上角有折角的矩形来表示,其内放置说明文字,通过 虚线连接被注释的元素。

设计模式作业2_第1张图片

类(Class)

在面向对象(OO) 编程中,类是对现实世界中一组具有相 同特征的物体的抽象。 在UML类图中,类使用包含类名、属性(field) 和方法 (method) 且带有分割线的矩形来表示:

设计模式作业2_第2张图片

 

类的属性的完整表示方式:

可见性 名称 :类型 [ = 缺省值] 中括号中的内容表示是可选的+

类的方法的完整表示方式:

可见性 名称(参数列表) [ : 返回类型] 中括号中的内容是可选的

设计模式作业2_第3张图片

接口(Interface)

接口是一种特殊的类,具有类的结构但不可被实例化,只 可以被实现(继承)。 C++中,通过类实现面向对象的编程,在基类中只给出纯 虚函数(接口)的声明,然后在派生类中实现纯虚函数 的具体定义的方式实现接口,不同派生类实现接口的方 式也不尽相同,从而实现多态。 java中,在抽象类定义抽象函数(接口),抽象函数不能 有函数体,抽象类不能被实例化,由其子类实现抽象函 数(接口),不同子类实现接口的方式可以不同,从而 实现多态。

在UML中,接口有两种表示方式:

 普通接口表示法(飞翔);

 棒棒糖表示法(讲人话),使用一个带有名称的小圆圈来表示 ,在旁边写上相应接口名称,没有具体接口方法。

 接口名称通常以大写字母I(interface)开头

设计模式作业2_第4张图片

类与类之间的关系(relation)

在UML类图中,常见的有以下几种关系: 

设计模式作业2_第5张图片

依赖关系(Dependency)

只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没 有对方,编绎通过不了。虚线箭头 

 

关联关系(Association)

关联关系实际上就是类与类之间的联系,是依赖关系的特例。 实线箭头 关联具有导航性:即双向关系或单向关系 关系具有多重性: 

单向一对一关系 +

 //一个人一个身份证号 一对一单向的 一对一

设计模式作业2_第6张图片

双向一对一关系

//一个人对应一个身份证号 一对一

//一个身份证号也对应一个人 

 

设计模式作业2_第7张图片

继承关系(Inheritance)

继承关系也称泛化关系,是依赖关系的特例。 A类继承了B 类也相当于A类用到了B类。空心三角形+实线 

 

实现关系(Implementation)

实现关系实际上就是A类实现B接口,是依 赖关系的特例,依赖关系更强。空心三角 形+虚线

 

设计模式作业2_第8张图片

聚合关系(Aggregation)

聚合关系表示的是整体和部分的关系,整体与部分可以分 开。聚合关系是关联关系的特例,所以他具有关联的导航 性与多重性。使用带空心菱形的实线,菱形指向整体来表 示。

 

设计模式作业2_第9张图片

聚合关系表示整体与部分关系,整体与部分可以分开,聚合 关系是关联关系的特例,具有:
导航性:谁聚合谁? A聚合到B:
多重性: B聚合一个A——单聚合 B里面可以聚合多个A——多重聚合


组合关系(Composition)

组合关系:也是整体与部分的关系,但是整体与部分不可以分 开。实心菱形+实线

 

设计模式作业2_第10张图片

 

 

你可能感兴趣的:(设计模式作业2)