正在加载图片...
面向对象软件工程实践指南 1.4.5类之间的关系 类之间存在三种基本的关系:(1)一般-特殊关系,表示“是一种”关系(isa):例如, 樱花是一种花,花是一般的类,而樱花是一种特殊的子类:(2)整体-部分关系,表示“组成 部分”关系(hasa/contains a):例如花瓣是花的一部分;(3)关联,表示某种语义上的依赖关 系(usea),相互关联的两个对象一般是平等的:例如,蜜蜂和花之间的关系。 1.一般特殊关系 ●继承(Inheritance) 继承是面向对象方法学中的一个十分重要的概念,继承是指能够直接获得已有的性质 或特征,不必重新定义。在面向对象的方法学中,其定义是:特殊类(或称子类、派生类) 的对象拥有其一般类(或称父类、基类)的全部属性与服务,称作特殊类对一般类的继承。 比如樱花是子类,花是基类。继承可以表示类与类、接口与接口之间的继承关系,或类与接 口之间的实现关系。继承分为单继承和多继承。当一个类只有一个父类时为单继承,有多个 父类时为多继承。 ●泛化(Generalization) 泛化与继承相反,是指从子类抽取共同的特征形成父类的过程。例如,从关山樱、菊 樱、郁金樱等不同种类樱花中,抽取樱花类。 2.整体-部分关系 ●聚合(Aggregation) 聚合表示整体类和部分类之间的关系为“包含”、“组成”的关系。例如花包含了樱花,桃 花,梅花等,当这些花不构成完整的花类时,也是单独存在的。 ●组合(Composition) 组合表示整体类拥有部分类,部分和整体具有相同的生存期,如果整体不存在了,部 分也随之消失。例如一朵花包含花冠、花萼、花托和花蕊四个部分,花不存在了,则花冠等 也没有意义。组合是一种特殊形式的强类型的聚合。 3.关联关系 ●关联(Association) 关联是体现了两个类之间语义级别的一种强依赖关系,一般是长期的且双方是平等的。 关联可以是单向的和双向的。 。依赖(Dependency) 依赖是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将 影响另外一个类,依赖关系具有偶然性、临时性,是脆弱的。 ●实现(Realization) 12面向对象软件工程实践指南 12 1.4.5 类之间的关系 类之间存在三种基本的关系:(1)一般-特殊关系,表示“是一种”关系 (is a);例如, 樱花是一种花,花是一般的类,而樱花是一种特殊的子类;(2)整体-部分关系,表示“组成 部分”关系(has a / contains a);例如花瓣是花的一部分;(3)关联,表示某种语义上的依赖关 系 (use a),相互关联的两个对象一般是平等的:例如,蜜蜂和花之间的关系。 1. 一般-特殊关系  继承(Inheritance) 继承是面向对象方法学中的一个十分重要的概念,继承是指能够直接获得已有的性质 或特征,不必重新定义。在面向对象的方法学中,其定义是:特殊类(或称子类、派生类) 的对象拥有其一般类(或称父类、基类)的全部属性与服务,称作特殊类对一般类的继承。 比如樱花是子类,花是基类。继承可以表示类与类、接口与接口之间的继承关系,或类与接 口之间的实现关系。继承分为单继承和多继承。当一个类只有一个父类时为单继承,有多个 父类时为多继承。  泛化 (Generalization) 泛化与继承相反,是指从子类抽取共同的特征形成父类的过程。例如,从关山樱、菊 樱、郁金樱等不同种类樱花中,抽取樱花类。 2. 整体-部分关系  聚合 (Aggregation) 聚合表示整体类和部分类之间的关系为“包含”、“组成”的关系。例如花包含了樱花,桃 花,梅花等,当这些花不构成完整的花类时,也是单独存在的。  组合 (Composition) 组合表示整体类拥有部分类,部分和整体具有相同的生存期,如果整体不存在了,部 分也随之消失。例如一朵花包含花冠、花萼、花托和花蕊四个部分,花不存在了,则花冠等 也没有意义。组合是一种特殊形式的强类型的聚合。 3. 关联关系  关联 (Association) 关联是体现了两个类之间语义级别的一种强依赖关系,一般是长期的且双方是平等的。 关联可以是单向的和双向的。  依赖 (Dependency) 依赖是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将 影响另外一个类,依赖关系具有偶然性、临时性,是脆弱的。  实现 (Realization)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有