`

Java中类与类之间的关系

阅读更多
 类与类之间存在以下关系:

  1、 泛化(Generalization)

  很简单,就是我们常说的继承。是说子类获得父类的功能的同时,还可以扩展自己的功能。

  如图:



  Java代码中表现为:extends 和 implements

  2、 依赖(Dependency)

  两个相对独立的咚咚(A和B),当A负责构造B时,A与B形成依赖关系,即A使用B。

  如图:



  Java代码中的表现为局部变量,方法的参数,以及对静态方法的调用

  3、 关联(Association)

  两个相对独立的咚咚(A和B),当A对象持有B对象的时候,形成关联关系。

  关于分为有两种特殊的形式,聚合(Aggregation)和组合(Composition),聚合和组合只有概念上的区别,在Java中的代码实现上没有区别。

  聚合:指的是整体与部分的关系,如图:



  组合:表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期,即整体对象不存在,部分对象也将不存在,如图:



  Java代码中,表现为成员变量。

  4、 总结

  在Java中,应该尽量优先使用组合,而不是继承,因为继承会使得类关系过于复杂化,破坏了封装性,使用组合一样可以获得已有类的功能,而且会使新类更加稳固。

  实际上,从依赖 -----〉聚合--------〉组合,类与类之间的关系更加紧密,互相之间的影响越来越大,其实我们平常比较少去区分这些关系,而且事实上这东西的定义不太好理解,所以肯定会导致认识上的偏差,所以我们使用这些东西的时候,尽量靠近大家都认同的做法,这样容易让别人理解。
分享到:
评论

相关推荐

    java中类与类之间的关系

    Java 中类与类之间的关系 Java 中类与类之间的关系是理解面向对象编程的关键概念。这些关系包括泛化、依赖、关联和聚合等。了解这些关系对于设计和实现软件系统非常重要。 一、泛化关系 泛化关系是类与类之间的...

    java类与类之间的关系

    在Java编程语言中,类与类之间的关系是构建复杂系统结构的基础,这些关系不仅限于继承和封装,还包括了关联、依赖、聚合和组合等多种形式。以下是对这些关系的深入探讨: ### 1. 关联关系(Association) 关联关系...

    java基础第七章内部类与异常类.doc

    内部类和外嵌类之间存在着紧密的关系:内部类可以访问外嵌类的成员变量和方法,而外嵌类也可以使用内部类声明的对象作为其成员。内部类的类体中不能声明静态成员变量和静态方法。 匿名类是一种特殊的内部类,它可以...

    简单谈谈Java类与类之间的关系

    Java 类与类之间的关系是面向对象编程的核心概念之一,它帮助我们组织代码,实现代码的重用和模块化。在 Java 中,类与类的关系主要包括依赖(uses-a)、聚合(has-a)和继承(is-a)这三种主要类型。 1. 依赖...

    Java中类的组合概念

    首先,我们来理解Java中类的概念。类是面向对象编程的基本单位,它定义了一组属性(成员变量)和方法(成员函数)。类可以用来模拟现实世界中的实体,比如人、汽车、订单等。在Java中,类可以包含不同的数据类型,...

    java倒类详解 讲解java Dao类的里各种语句与变量之间的关系

    本文将深入探讨Java DAO类中的各种语句与变量之间的关系,帮助你更好地理解和应用这一模式。 首先,一个基本的DAO类通常包含以下元素: 1. **接口定义**:定义了对数据库进行操作的方法,如增删查改(CRUD)操作。...

    12-JAVA类之间的关系

    JAVA类之间的关系思维导图,便捷整理思路,泛化、实现、依赖、关联、组合、聚合……

    类与类之间的关系

    在面向对象编程中,类与类之间的关系是非常重要的,它们之间的关系可以分为四种:泛化、关联、依赖和聚合。 1. 泛化(Generalization) 泛化是一种继承关系,表示类与类之间的继承关系,接口与接口之间的继承关系...

    mysql数据库生成java实体类

    MySQL数据库生成Java实体类是一种常见的开发任务,尤其是在基于Java的后端开发中,它能够极大地提高开发效率。这个小工具的目的是将MySQL数据库中的表结构转换为对应的Java类,这样开发者就不需要手动创建这些表示...

    java IO流(包含类之间的关系图)

    Java IO流(包含类之间的关系图) Java IO流是Java语言中用于输入/输出操作的基础组件,涵盖了字节流和字符流两大类别。了解IO流的类之间的关系图是初学者学习Java IO流的基础。 字节流 字节流是Java IO流中最...

    JAVA_API1.6文档(中文)

    javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...

    类与对象-java实验报告

    在几何图形中,类与类之间的关系可以是继承、关联或组合。例如: - **Shape 类**:可以创建一个抽象的 Shape 类作为所有几何图形的基类,包含共同的方法如获取面积和周长。 - **Polygon 类**:继承自 Shape 类,...

    MySql转Java实体类

    - **数据类型转换**:不同的数据库系统和Java之间的数据类型可能不完全匹配,转换工具需要正确地映射这些类型,例如`VARCHAR`到`String`,`INT`到`int`等。 - **主键处理**:主键字段通常需要特别标记,如使用`@Id...

    java类与对象实例

    类与类之间的关系有依赖、组合和继承三种。依赖关系是指两个类之间的使用关系,组合关系是指一个类包含另外一个类,继承关系是指一个类继承另外一个类的属性和方法。 在 Java 中,类可以分为预定义类和自定义类。...

    学生类和老师(java)

    在Java编程语言中,面向对象编程是...这个简单的示例展示了如何使用面向对象编程来表示现实世界中的实体,并通过类和对象来描述它们之间的关系。通过扩展这些类,可以构建更复杂的教育管理系统,涵盖更多的功能和交互。

    java中接口与抽象类的详细分析与比较

    在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键...通过阅读"java中接口与抽象类的详细分析与比较.doc"文档,你将获得更深入的洞察和实践指导,进一步提升你的Java编程能力。

    Java类思维导图

    Java类思维导图是理解Java编程语言中类与类之间关系的重要工具,它通过图形化的方式,清晰地展示了Java各类的结构、继承关系以及方法的使用。这份"Java思维导图"很可能包含了从基础的面向对象概念到高级特性的全面...

    Java抽象类和接口和继承之间关系

    "Java抽象类和接口和继承之间关系" Java抽象类和接口是两种不同的概念,它们之间存在着继承关系。在Java中,抽象类(abstract class)和接口(interface)都是用来描述对象的行为和状态的,但它们之间有着明显的...

Global site tag (gtag.js) - Google Analytics