正在加载图片...
是一些数据(状态信息),它在类的每个对象中均有自己的值 为 什么要定义属性 主要原因是属性能为“类-&-对象”以及结构提供更多的细节 属性的值(状态)将由该对象的方法来处理。我们把属性和对这些属性进行操作 的方法靠成一个不可分割的整体。 随着时间的推移,问题域的“类”保持稳定,但属性却可能改变。 何定义属性 别属性 首先要明白某个类的对象应该描述什么东西?从单个对象的角度来看,需要询问 以下问题: 般情况下怎样描述该对象? 在本问题域中怎样描述该对象? 在本系统的主要上下文中怎样描述该对象? 紧接着询问以下问题 该对象需要了解什么? 该对象需要记住什么状态信息? 该对象能处于什么状态? 同时回忆从前对相同和类似问题域实行面向全国对象分析的结果。看哪些属性可 以重新使用。在定义属性方面可吸取哪些教训? 在原子概念的层次上标识属性,使每个属性只代表一个“原子概念”,它可以是 个单独的数据单元,也可以是数据单元的一个自然组合。表示“原子概念”的 动机是为了产生一个供人观察的简单模型,该模型可能只有几个属性名和自然数 据组。 2) 位属性 将每个属性放到它最合适的类-&-对象中。在大多数情况下,这是直接的 对于泛化—特化结构中的类,如果将某个属性放到结构的最上端的类,则该属性 适合它所有的特化类。如果每个属性适合于某层的所有特化类,则应将它向上移 动到响应的泛化类 如果你发现某个属性有时有值,而有时又没有值,则应研究该泛化一特化结构, 看是否存在着另外一个泛化一特化结构 3) 别实例连接 属性可以描述对象状态,而实例连接则加强了这种描述能力 一个实例连接就是一个问题域映射模型,该模型反映了某个对象对其它对象的需是一些数据(状态信息),它在类的每个对象中均有自己的值。 2. 为 什么要定义属性 主要原因是属性能为“类-&-对象”以及结构提供更多的细节。 属性的值(状态)将由该对象的方法来处理。我们把属性和对这些属性进行操作 的方法靠成一个不可分割的整体。 随着时间的推移,问题域的“类”保持稳定,但属性却可能改变。 3. 如 何定义属性 1) 识 别属性 首先要明白某个类的对象应该描述什么东西?从单个对象的角度来看,需要询问 以下问题: 一般情况下怎样描述该对象? 在本问题域中怎样描述该对象? 在本系统的主要上下文中怎样描述该对象? 紧接着询问以下问题: 该对象需要了解什么? 该对象需要记住什么状态信息? 该对象能处于什么状态? 同时回忆从前对相同和类似问题域实行面向全国对象分析的结果。看哪些属性可 以重新使用。在定义属性方面可吸取哪些教训? 在原子概念的层次上标识属性,使每个属性只代表一个“原子概念”,它可以是 一个单独的数据单元,也可以是数据单元的一个自然组合。表示“原子概念”的 动机是为了产生一个供人观察的简单模型,该模型可能只有几个属性名和自然数 据组。 2) 定 位属性 将每个属性放到它最合适的类-&-对象中。在大多数情况下,这是直接的。 对于泛化—特化结构中的类,如果将某个属性放到结构的最上端的类,则该属性 适合它所有的特化类。如果每个属性适合于某层的所有特化类,则应将它向上移 动到响应的泛化类。 如果你发现某个属性有时有值,而有时又没有值,则应研究该泛化—特化结构, 看是否存在着另外一个泛化—特化结构。 3) 识 别实例连接 属性可以描述对象状态,而实例连接则加强了这种描述能力。 一个实例连接就是一个问题域映射模型,该模型反映了某个对象对其它对象的需
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有