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

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实验报告

    1) 熟悉Java中类的设计; 2) 设计类的数据域与方法; 3) 设计类与类之间的关系 4)使用设计的类 实验内容 对平面几何中的各种基本图形使用面向对象的设计方法建模,需要设计的类包括:点、直线、三角形、矩形、...

    Java类与类的关系

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

    Java中类与类之间的关系

    在Java中,了解类与类之间的关系。帮助初学者去理解

    Java IO类继承关系

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

    1.java类的六种关系.zip

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

    java类与类之间的关系

    java面相对相类与类之间的关系,理论详细

    JAVA_API1.6文档(中文)

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

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

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

    12-JAVA类之间的关系

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

    理解java中的类的各种权限修饰符

    父子类可以是不同包 在不同包下面只有public 与 protected 可以访问,而且protected必须是在继承关系下才能够访问

    Java中抽象类和接口的区别

    1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。  2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在...

    java IO 类层次图

    java IO 类层次图,以清晰明了的形式标明了java io中各种类的关系

    自定义Java类加载器

    看完一个Java加载原理教程后,写了这个自己的类加载器,作个笔记,以便以且使用

    Java内部类和外部类的关系

    这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很...

    学生类和老师(java)

    用java编写的学生类和老师类。共同学习,共同进步!

    Java集合关系图

    Java集合关系图,总结的java集合的所有类的架构关系。Java集合关系图,总结的java集合的所有类的架构关系

    西南科技大学Java程序设计与实践 实验三 类的继承与多态的应用

    西南科技大学Java程序设计与实践 实验三 类的继承与多态的应用 一、实验目的: 1、练习类的继承与多态设计过程; 2、练习面向对象的图形用户界面设计、事件设计方法。 二、实验内容: 1、利用多态性编程,创建一个 ...

    java IO 类继承关系图

    Java IOReader/Writer类中关系继承图,IO类各继承关系一目了然

Global site tag (gtag.js) - Google Analytics