内容图谱
•对象与类的关系
对象的概念与特性
•对象代表一个单独的、可确认的物体、单元或实体,它可以是具体的也可以是抽象的,在问题领域里有确切定义的角色。换句话说,对象是边界非常清楚的任何事物
•状态(属性):对象的状态包括对象的所有属性(通常是静态的)和这些属性的当前值(通常是动态的)
•行为(方法,事件):没有一个对象是孤立存在的,对象可以被操作,也可以操作别的对象。而行为就是一个对象根据它的状态改变和消息传送所采取的行动和所做出的反应
•标识(名字):为了将一个对象与其它所有对象区分开来,我们通常会给它起一个“标识”
对象与类
•对象是一个存在于时间和空间中的具体实体,而类仅代表一个抽象,抽象出对象的“本质”。
•类是共享一个公用结构和一个公共行为对象集合
•类是静态的,对象是动态的;类是一般化,对象是个性化;类是定义,对象是实例;类是抽象、对象是具体
•如何阅读对象图
对象图的表示法
•对象名:由于对象是一个类的实例,因此其名称的格式是“对象名:类名”,这两个部分是可选的,但如果是包含了类名,则必须加上“:”,另外为了和类名区分,还必须加上下划线。
•属性:由于对象是一个具体的事物,因此所有的属性值都已经确定,因此通常会在属性的后面列出其值。
阅读对象图
•首先找出所有的类,即在“:”之后的名称
•整理完之后,就可以通过对象的名字来了解其含义
•按类来归纳属性,然后再通过关联来确定含义
•如何绘制对象图
绘制对象图的过程
•先找出类和对象,通常类在“class”、“new”、“implements”等关键字之后的,而对象名则通常是在类名之后的
•然后对其进行细化的关联分析,绘制出相应的对象图
•对象图应用说明
绘制对象图的过程
•论证类模型的设计:当设计了类模型时,你可以通过对象图来模拟出一个运行时的状态,这样就可以研究在运行时设计的合理性。同时,也可以作为开发人员讨论的一个基础。
•分析和说明源代码:由于类图只是展示了程序的静态类结构,因此通过类图看懂代码的意图是很困难的。因此在分析源代码时,可以通过对象图来细化分析。而对于开发人员,对于逻辑较复杂的类交互时,可以考虑画出一些对象图来做补充说明
•本章小结
•首先从现实世界的“对象”概念中引申出软件系统中“对象”的概念,并阐述了对象的三大特性:结构、行为、标识,从而阐释了对象和类之间的辩证关系
•并在此基础上,解释对象的表示法和对象图的阅读方法
•通过一个实际的例子说明了对象图的绘制技巧,并总结了对象图的适用场景