`

java之间类的关系

    博客分类:
  • java
阅读更多
继承
指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;




实现
指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字 implements明确标识,在设计时一般没有争议性;




依赖
可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用;




关联
他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;




聚合
聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;




组合
组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;






对于继承、实现这两种关系没多少疑问,他们体现的是一种类与类、或者类与接口间的纵向关系;其他的四者关系则体现的是类与类、或者类与接口间的引用、横向关系,是比较难区分的,有很多事物间的关系要想准备定位是很难的,前面也提到,这几种关系都是语义级别的,所以从代码层面并不能完全区分各种关系;但总的来说,后几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖 ;
分享到:
评论

相关推荐

    java中类与类之间的关系

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

    12-JAVA类之间的关系

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

    java类与类之间的关系

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

    Java中类与类之间的关系

    ### Java中类与类之间的关系 #### 泛化(Generalization) 在面向对象编程中,泛化是指一种类从另一种类获取属性和行为的方式。在Java语言中,泛化主要通过继承来实现。继承允许一个类(子类或派生类)继承另一个类...

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

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

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

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

    类与类之间的关系

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

    java 卡车和卡车司机之间的关系

    在Java编程语言中,"卡车"和"卡车司机"可以被理解为类与对象之间的关系。这个关系通常涉及面向对象编程中的概念,如封装、继承和多态性。在这个场景中,我们可以假设"卡车"是一个类,而"卡车司机"是另一个类,它们...

    mysql数据库生成java实体类

    5. **type.properties**: 这个文件很可能包含了数据库类型与Java类型之间的映射规则。例如,MySQL的INT类型可能会映射到Java的Integer类型,VARCHAR到String等。这个配置文件使得工具可以根据数据库字段的数据类型...

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

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

    MySql转Java实体类

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

    MongoDB、Java与对象关系映射

    ### MongoDB、Java与对象关系映射 #### MongoDB简介与特性 MongoDB作为一种强大的NoSQL...综上所述,MongoDB、Java与对象关系映射之间的结合不仅提高了开发效率,还降低了维护成本,是现代软件开发不可或缺的一部分。

    学生类和老师(java)

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

    Java类之间的关系图_动力节点Java学院整理

    Java类之间的关系图 Java类之间的关系图是面向对象设计模式中的一种重要概念,它描述了类之间的六种关系:依赖、关联、聚合、组合、继承、实现。这些关系是Java编程中最基本的设计模式,掌握这些关系是编写高质量...

    HIBERNATE - 符合Java习惯的关系数据库持久化

    Hibernate是Java领域内最受欢迎的对象关系映射(ORM)框架之一,它简化了Java应用程序与关系型数据库之间的交互,使得开发人员能够用面向对象的方式处理数据库操作,而无需深入了解SQL语法或数据库API。通过将Java...

    UML类关系之JAVA代码实现

    类之间的关系是UML中核心的概念,它们反映了类之间的相互作用和依赖。本文将详细探讨四种主要的UML类关系——依赖、泛化、关联和实现,并通过Java代码示例来阐述这些关系的实现。 1. **依赖(Dependency)**:依赖...

    Java类思维导图

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

    帮你分析android与java的关系

    Android 与 Java 的关系是一个复杂的课题,很多开发者都想知道他们之间的关系究竟如何。下面我们将深入探讨 Android 与 Java 的关系,了解它们之间的相似性和区别。 首先,需要明确的是,Android 并不等同于 Java...

    java实体类生成工具

    实体类在Java编程中扮演着重要角色,特别是在使用ORM(对象关系映射)框架如MyBatis时,它们是数据库表与业务逻辑之间的桥梁。通过自动化生成这些类,开发者可以节省大量手动编写代码的时间,从而更专注于业务逻辑和...

Global site tag (gtag.js) - Google Analytics