`
yuping322
  • 浏览: 92480 次
  • 来自: ...
社区版块
存档分类
最新评论

Java中类与类的关系

阅读更多

yaogao@gmail.com

类与类之间存在以下关系:

1、 泛化(Generalization)<o:p></o:p>

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

如图:

Java代码中表现为:extends implements

2、 依赖(Dependency)<o:p></o:p>

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

如图:

<v:shape id="_x0000_i1026" style="WIDTH: 378pt; HEIGHT: 81.75pt" type="#_x0000_t75"><v:imagedata o:title="Dependency" src="file:///D:\DOCUME~1\Yaogao\LOCALS~1\Temp\msohtml1\01\clip_image003.wmz"></v:imagedata></v:shape>

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

3、 关联(Association)<o:p></o:p>

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

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

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

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

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

4、 总结<o:p></o:p>

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

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

 

分享到:
评论
2 楼 Jack22 2012-11-30  
算是我看到的最简单,最明了的解释了。谢谢了。
1 楼 feiyu367 2008-04-01  
好,這個資料寫的還算簡單。

相关推荐

    java中类与类之间的关系

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

    Java中类与类之间的关系

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

    Java类与类的关系

    Java类与类的关系,对java开发有很大帮助

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

    Java 基础第七章内部类与异常类 Java 语言支持在一个类中定义另一个类,这样的类称做内部类。内部类和外嵌类之间存在着紧密的关系:内部类可以访问外嵌类的成员变量和方法,而外嵌类也可以使用内部类声明的对象作为...

    JAVA类与对象及数组习题

    JAVA类与对象及数组习题 JAVA类和对象及数组是JAVA编程语言的基础概念。下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: ...

    Java中类的组合概念

    在Java中,类的组合是一种重要的概念,它允许我们构建更复杂、更丰富的对象模型,能够反映现实世界中的复杂关系。通过类的组合,可以将基本类型、基本类型的类、以及自定义的类通过创建新的类进行组合,实现功能和...

    java类与类之间的关系

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

    MySQL表自动生成Java实体类

    Java实体类(Entity Class)作为数据模型的表示,与数据库中的表进行映射,使得开发者能够更方便地操作数据库。本主题主要讲解如何利用工具或自定义脚本将MySQL数据表自动生成对应的Java实体类,提高开发效率。 ...

    mysql数据库生成java实体类

    这个小工具的目的是将MySQL数据库中的表结构转换为对应的Java类,这样开发者就不需要手动创建这些表示数据库记录的类。下面将详细解释这个过程涉及的知识点。 1. **MySQL数据库**: MySQL是一种流行的开源关系型...

    java等级分类例子

    在Java编程语言中,"等级分类"通常...这些文件可能包含不同层次的类定义,展示了如何通过继承和多态性来构建一个复杂的Java类体系。通过研究这些示例,你可以更好地理解如何在实际项目中有效地使用Java的等级分类功能。

    学生类和老师(java)

    在Java编程语言中,面向对象编程是核心特性之一,它允许我们通过类来定义对象的结构和行为。在这个"学生类和老师类"的项目中,我们将深入探讨如何使用Java来创建这两个特定的类,以及它们如何交互和共享数据。 首先...

    Java IO类继承关系

    JavaIO类InputStream/OutputStream继承关系图,使您对IO类一目了然

    MySql转Java实体类

    - **生成实体类**:工具会解析SQL脚本,根据表的列信息生成对应的Java类,包括字段、getter和setter方法以及可能的构造函数。 - **整合到项目**:将生成的Java实体类添加到你的Java项目中,然后就可以在代码中使用...

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

    1. **继承数量**:Java类可以实现多个接口,但只能继承一个抽象类。这使得接口更适合实现多继承的场景。 2. **成员变量**:抽象类可以有实例变量,而接口只能有常量(final static)。 3. **方法实现**:抽象类可以...

    java类与对象实例

    "java类与对象实例" 在 Java 中,类和对象是两个紧密相连的概念。类是一种蓝图,用于创建对象,而对象是类的一个实例。类描述了对象的基本结构,包括属性、方法和事件等。类设计的关键概念包括封装、继承和多态。 ...

    Java类思维导图

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

    java类加载器

    Java类加载器遵循双亲委派模型,其目的是提高系统的稳定性。该模型规定除了顶层的启动类加载器外,其余的类加载器都应当有一个父类加载器。类的加载请求会首先传递给父类加载器处理,如果父类加载器无法处理,则交给...

    1.java类的六种关系.zip

    1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1....

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

    在 Java 中,类与类的关系主要包括依赖(uses-a)、聚合(has-a)和继承(is-a)这三种主要类型。 1. 依赖(uses-a): 依赖关系指的是一个类在实现其功能时需要使用另一个类的服务。例如,在在线书店订单系统中,...

Global site tag (gtag.js) - Google Analytics