您的位置:首页 > 其它

UML(二)——面向对象的基本概念

2015-08-31 10:52 274 查看
1、对象的基本特征

每个对象都有自己的唯一标识。
对象之间通过消息进行通信。
对象总是处于一定的状态。
对象有若干种行为,分为三类:创建新对象,与其他对象通信,改变自身状态。
对象的状态只能被自身的行为所改变。
某个对象的状态可以又多个其他对象的状态构成。

2、对象的不同抽象层次

1)类:静态,在程序中定义。
2)对象:动态,存在与进程中。
3)抽象数据类型ADT

是对一组对象的更高层次的抽象。
ADT=数据+操作。
ADT的四个段落:

TYPES
FUNCTIONS
AXIOMS(公理)
PRECONDITONS(先决条件)

ADT VS. 类

类=ADT+实现
类的“瘦极限”(即未进行任何实现)=ADT
类的“胖极限”(即完全实现),有效类

ADT——>类

ADT的规格说明
选择一种物理表示法
将ADT的功能映射为具体的物理实现

3、基本的类间关系
1)继承:高度抽象方式。

空心三角箭头,实线,子类指向父类。

2)聚合

性质:传递性,逆对称性。
空心菱形箭头,实线,组元类指向组合类。

3)关联

链:对象实例之间的物理或概念联结。
关联:对一组语义与结构相似的链的抽象。
链是关联的实例,关联是链的抽象。
关联会破坏封装性。

4)聚合VS.集成

聚合:与,is part of
继承:或,is a

5)聚合VS.关联

聚合是关联的一种特殊形式

4、消息与事件
1)消息:对象之间进行通信的构造或结构。

分为请求消息和完成消息两种(按消息模式)。

消息模式:发送对象,接收对象,内容。

2)事件:对象之间一次消息的传递。

多个事件按照时间顺序可构成时间序列。

3)消息VS.事件:静VS.动。

4)消息与对象

一个对象能接受不同形式不同内容的多个消息。
相同形式的消息可以送往不同的对象。
对于相同形式的消息,不同对象有不同对象的解释,可以做出不同的反应。

5)消息与方法

对象接收到有效消息后,总会以某种行为做出适当反应。期间,对象行为复用了类操作的代码实现。
在某种程度上,消息与方法可视为同义词。但是:消息与代码无关,方法是操作的代码实现。

6)消息传递VS.过程调用

消息传递

当同一发送对象在不同时刻想同一接收对象多次发送相同消息是,接受对象按照其当前状态不同作出不同反应。
消息传递可以异步进行,从而允许并行与分布执行。

过程调用

如果过程体中只有局部变量,当同一调用者用相同参数值调用同一过程时,其调用结果在任何时刻都必然相同。
过程调用只能同步,其本质是串行执行。

5、多态性

1)含义

同一操作对象可以是多个不同类的行为。
不同对象接收到同一消息后,可产生完全不同的反映。
同一消息可调用不同的方法。

2)目的:允许每个对象以自己最合适的方式去响应共同的消息,增强软件的灵活性和可复用性。

6、面向对象的特性与主题
1)特性

标识唯一性
分类性
多态性
继承性

2)主题

抽象
封装
归并数据与行为
共享/复用
强调对象结构而不是程序结构
协同

3)面向对象=对象+分类+继承+消息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: