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)面向对象=对象+分类+继承+消息
每个对象都有自己的唯一标识。
对象之间通过消息进行通信。
对象总是处于一定的状态。
对象有若干种行为,分为三类:创建新对象,与其他对象通信,改变自身状态。
对象的状态只能被自身的行为所改变。
某个对象的状态可以又多个其他对象的状态构成。
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)面向对象=对象+分类+继承+消息
相关文章推荐
- 在线浏览PDF文件的实用jquery插件推荐
- C#自动添加using引用命名空间
- java - (08) javaEE
- C++——类继承以及类初始化顺序
- C++——拷贝构造函数说明
- 某项目 需要在UITabbar 上显示小红点,在此搜罗了三个方法。
- Java常用的设计模式02:常用设计模式之工厂模式(创建型模式)
- CSS百分比定义高度
- Ubuntu kylin 上MITMF安装笔记
- Android 延迟执行
- 关于融云的自定义消息的设置
- SQL语句大全(几乎所有常用的示例,包括省市号码源码)
- Codeforces Round #318 (Div. 2)
- C++——继承时的this指针
- ELK的一些学习知识
- 浅谈Java中的hashcode方法
- HDU 1258 Sum It Up 深搜
- Android Gif图片显示(GifView)
- 今天线上系统碰到个怪问题DBCP数据连接异常,java.sql.SQLException: Already closed.
- 动态生成右键菜单子菜单