yaogao@gmail.com
类与类之间存在以下关系:
1、 泛化(Generalization)<o:p></o:p>
很简单,就是我们常说的继承。是说子类获得父类的功能的同时,还可以扩展自己的功能。
如图:
Java代码中表现为:extends 和 implements
2、 依赖(Dependency)<o:p></o:p>
两个相对独立的咚咚(A和B),当A负责构造B时,A与B形成依赖关系,即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>
两个相对独立的咚咚(A和B),当A对象持有B对象的时候,形成关联关系。
关于分为有两种特殊的形式,聚合(Aggregation)和组合(Composition),聚合和组合只有概念上的区别,在Java中的代码实现上没有区别。
聚合:指的是整体与部分的关系,如图:
组合:表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期,即整体对象不存在,部分对象也将不存在,如图:
Java代码中,表现为成员变量。
4、 总结<o:p></o:p>
在Java中,应该尽量优先使用组合,而不是继承,因为继承会使得类关系过于复杂化,破坏了封装性,使用组合一样可以获得已有类的功能,而且会使新类更加稳固。
实际上,从依赖 -----〉聚合--------〉组合,类与类之间的关系更加紧密,互相之间的影响越来越大,其实我们平常比较少去区分这些关系,而且事实上这东西的定义不太好理解,所以肯定会导致认识上的偏差,所以我们使用这些东西的时候,尽量靠近大家都认同的做法,这样容易让别人理解。
分享到:
相关推荐
能够很好的了解java中类与类之间的关系,如依赖,泛化,关联,聚合。以及它们之间的关系和区别。
1) 熟悉Java中类的设计; 2) 设计类的数据域与方法; 3) 设计类与类之间的关系 4)使用设计的类 实验内容 对平面几何中的各种基本图形使用面向对象的设计方法建模,需要设计的类包括:点、直线、三角形、矩形、...
Java类与类的关系,对java开发有很大帮助
在Java中,了解类与类之间的关系。帮助初学者去理解
JavaIO类InputStream/OutputStream继承关系图,使您对IO类一目了然
1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1.java类的六种关系.zip1....
java面相对相类与类之间的关系,理论详细
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...
讲解java Dao类的里各种语句与变量之间的关系 ························································
JAVA类之间的关系思维导图,便捷整理思路,泛化、实现、依赖、关联、组合、聚合……
父子类可以是不同包 在不同包下面只有public 与 protected 可以访问,而且protected必须是在继承关系下才能够访问
1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。 2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在...
java IO 类层次图,以清晰明了的形式标明了java io中各种类的关系
看完一个Java加载原理教程后,写了这个自己的类加载器,作个笔记,以便以且使用
这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很有帮助,这个类对学习java很...
用java编写的学生类和老师类。共同学习,共同进步!
Java集合关系图,总结的java集合的所有类的架构关系。Java集合关系图,总结的java集合的所有类的架构关系
西南科技大学Java程序设计与实践 实验三 类的继承与多态的应用 一、实验目的: 1、练习类的继承与多态设计过程; 2、练习面向对象的图形用户界面设计、事件设计方法。 二、实验内容: 1、利用多态性编程,创建一个 ...
Java IOReader/Writer类中关系继承图,IO类各继承关系一目了然