复杂系统分析与设计
- 格式:doc
- 大小:248.50 KB
- 文档页数:4
统一建模语言(Unified Modeling Language)面向对象技术基本概念
面向对象技术的设计思想模拟自然界认识和处理事物的方法,将数据和对数据的操作方法放在一起,形成一个相对独立的整体---对象(Object),对同类型对象抽象出共性,形成类(Class).任何一个类中的数据都只能用本类自有的方法进行处理,并通过简单的接口与外部联系.对象之间通过消息(Message)进行通信.
对象和实例(object&instance) 类(class) 封装(encapsulation) 继承(inheritance) 多态(polymorphism) 消息(message 对象模型基本元素的标识:
1)类、属性、方法
类是具有相同属性和操作的对象集合的总称。
它是面向对象的一个基本概念,类封装了客观世界中对象实体的特征与行为,即属性与方法。
其表示法是一个矩形,由带有类名、属性和方法(操作)的分格框组成。
如下图所示。
属性是指类的特性,它描述类所具有的一系列特性值。
一个类可以有多个属性,也可以没有属性。
在类图中属性只要写上名字就可以了。
如左图. 也可以在属性名后跟上类型甚至缺省取值,如右图:
方法是指类所能提供的服务或可执行的操作。
它表现类的动态特征。
继承,也称泛化,它是面向对象描述类之间相似性的一个重要机制。
面向对象利用继承来表达这种相似性,这使得可以利用继承来管理类,同时也使得在定义一个相似类时能简化类的定义工作。
继承(泛化)关系
3)超类、父类、子类
一个类可以继承其他类的属性和方法。
继承了其它类属性和方法的类称为子类,被继承的类称为父类或超类。
它们的关系如下图所示。
子类复用父类属性和方法的过程,称为继承或泛化。
没有父类的类被称为基类或根类;没有子类的类被称为叶类。
如果一个类恰好只有一个父类,这样的继承关系叫单继承。
如果一个类有多个父类,这样的继承就是多继承。
4)抽象类抽象类(Abstract Class)是一种不能直接产生实例的类,它的作用仅仅是为了其他的非抽象类继承和重用上图表示了抽象类的应用。
其中文本编辑器独立于平台,为此定义了一个独立于平台的窗口对象类“Window”,它是一个抽象类,在类名“Window”下标有约束{abstract}。
类“Window”包含有两个方法的名称“toFront()”和“toBack()”,但是没有方法实现。
类“Window”本身不能有实例,但它有两个特化的子类“Windows Window”和“Mac Window”,它们包含了方法“ toFront()”和“toBack()”在不同平台上的实现。
在本例中,类“ Window”的作用是作为文本编辑器类“ Text Editor”的一个接口。
(如上右图)
5)多态多态是指在不同类中具有相同名称的方法(操作)。
6)依赖(dependency) 依赖是指一个类中的元素使用了另一个类。
依赖关系描述类之间的使用关系。
(如上右
图)
7)关联关联(Association)是指对象类之间具有的语义联系。
其基本表示如下。
(如下左图)
应用于关联的4种修饰:关联名角色名多重性限定符与约束符
8)聚合与组合聚合(Aggregation)是一种描述类之间的整体与部分的组成关系。
(如上右图)组合(Composition)是一种特殊的聚合,它的每个部分体都是必须的。
如下图所示。
9)类图类图表达了一组类和它们之间的联系。
(如上右图)
10)对象对象是类的具体实例,即类在某时刻的一个快照。
(如下右图)
11)对象图对象图是类图的一个实例,它表示在某一时刻系统对象的状态、对象之间的联系状态。