关联关系、依赖关系总结

一、关联关系总结:

1.对象和对象之间的连接。在Java中,关联关系的代码表现形式为一个类做为另一个类的属性类型存在。即“有”的关系:”has-a”。

2.关联关系的方向:关联关系分为单向关联和双向关联

①单向关联: A类关联B类。

②双向关联:A类关联B类,B类关联A类。

3.关联关系的多重性:①一对一关联:一个学生,只能在一个班级里学习。

②一对多关联:一个学生,可以参加多个班级学习。

③解决一对多的关联的方案:集合和数组。

集合

例:

public class Classes{

}

public  class Student{

private List Classess;

}

数组

例:

public class Classes{

}

public  class Student{

private Classes[] Classess;

}

4.关联关系的特殊情况:如果两个互相关联的类中有整体和部分的关系,关联关系分为: 聚合和组合,主要区别在于生命周期不同。

二、依赖关系总结:

1.依赖关系的定义:依赖关系(use-a),指一个类A使用到了另一个类B。

2.依赖关系的特性:这种关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。

3.依赖具体表现:在代码层面,依赖关系表现为类B作为参数被类A在某个method。

4.依赖与关联的区别:

关联是“HAS”关系,依赖是“USE”关系:

①A类关联B类,指的是B类对象作为A类的属性存在,称为“has”关系。

②A类依赖B类,指的是B的对象作为A类的方法参数存在,称为“use”关系。

生命周期不同:

①如果A类关联B类,那么创建A类的对象时实例化B类的对象,直到A类对象被销毁,所关联的B类对象也被销毁。即只要A类对象存在,B类对象就存在。

②如果A类依赖B类,那么只有当A类对象调用到相应方法时,B类对象才被临时创建,方法执行结束,B类对象即被回收,A类和B类之间的依赖关系是一种瞬时的关系。

时间: 2024-10-11 16:00:10

关联关系、依赖关系总结的相关文章

java 面向对象基础 UML图 构造方法 对象 参数传值 关联关系 依赖关系

UML图 UML(Unified Modeling Language Diagram,UML),它是一个结构图,用来描述一个系统的静态结构.一个UML中通常包含类(class)的UML图,接口(Interface)的UML图以及泛化关系(Generalizaiton)的UML图.关联关系(Association)的UML图.依赖关系(Dependency)的UML图和实现关系(Realization)的UML图. 第一层是名字层,如果类的名字是常规字形,表明该类是具体类, 如果类的名字是斜体字形

类图和对象图教程-类(Class)、接口(Interface)、协作(collaboration)、依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)以及实现关系(Realization)

类图的概念 (转) 一.概述 类图(Class Diagram)是描述类.接口.协作以及它们之间关系的图,用来显示系统中各个类的静态结构.类图是定义其他图的基础,在类图基础上,可以使用状态图.协作图.组件图和配置图等进一步描述系统其他方面的特性. 类图包括7个元素:类(Class).接口(Interface).协作(collaboration).依赖关系(Dependency).泛化关系(Generalization).关联关系(Association)以及实现关系(Realization).

关联关系与依赖关系的区别

一.语义上: 关联关系: A has a(knows a) B 依赖关系: A uses a B 二.代码上: 关联关系: package facade; /** * @author Administrator * @version 1.0 * @created 11-十月-2015 18:42:05 */public class A { public B m_B; public A(){ } public void finalize() throws Throwable { } } 依赖关系:

谈谈类之间的关联关系与依赖关系(转载)

(转载自:http://www.cnblogs.com/iyangyuan/archive/2013/06/16/3138463.html) 对于很多刚刚接触UML的童鞋,可能会对类之间的关联与依赖关系不太理解,今天小菜就浅薄的讲一下. 这块的确是有点乱,不过小菜突然找到了一个比较好的切入点,拿出来分享一下. 接触过设计模式的读者,会经常看到这样的场景:在实例化A类的时候,需要B类作为构造方法的参数,这说明A类需要持有一个B类的引用.比如代理模式.装饰模式等,都会这样做.例如Java中的IO流采

关联、组合、聚合、依赖关系比較

类之间的关系 1. 种类: Generalization(泛化),Dependency(依赖关系).Association(关联关系).Aggregation(聚合关系).Composition(合成关系). 2.  当中Aggregation(聚合关系).Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系. 3.  Generalization(泛化)表现为继承或实现关系(is a).详细形式为类与类之间的继承关系,接口与接口之间的

关于泛化、继承、实现、关联、聚合、组合、依赖关系比较

[ 类的关系 ] ① Generalization(泛化) -> { Inheritance(继承),Realization(实现) } ② Association(关联关系) -> { Aggregation(聚合关系),Composition(组合关系) } ③ Dependency(依赖关系) [ 关系详解 ] ① Generalization(泛化) 泛化表现为继承或实现关系(is a).具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系. ② Associa

关联、组合、聚合、依赖关系比较 [转]

原帖地址:http://blog.csdn.net/maybehelios/article/details/2038685 类之间的关系 1. 种类: Generalization(泛化),Dependency(依赖关系).Association(关联关系).Aggregation(聚合关系).Composition(合成关系). 2.  其中Aggregation(聚合关系).Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系. 3

关联、组合、聚合、依赖关系比较

类之间的关系种类: Generalization(泛化),Dependency(依赖关系).Association(关联关系).Aggregation(聚合关系).Composition(合成关系).    其中Aggregation(聚合关系).Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系.Generalization(泛化)表现为继承或实现关系(is a).具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的

类之间的依赖关系和组合关系

目录 类之间的依赖关系和组合关系 依赖(关联)关系 组合(聚合)关系 一对多的组合关系 类之间的依赖关系和组合关系 依赖(关联)关系 类之间可以有三种关系: 依赖(关联)关系 组合(聚合)关系 继承(实现)关系 依赖(关联)关系指的是类对象执行某个动作的时候,需要其他类的对象来帮助完成这个操作的情况,其特点为: 将一个类的对象或者类名传到另一个类的方法中使用 此时的关系是最轻的,随时可以更换其他对象 关联关系的示例如下: class Person: def play(self, tools):