码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-08-31 11:56:02      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:面向对象   class   对象   消息   多态   

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)面向对象=对象+分类+继承+消息

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

标签:面向对象   class   对象   消息   多态   

原文地址:http://blog.csdn.net/shangqing1123/article/details/48130915

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!