Java中类与类的关系

1、泛化(Generalization)

根据我所理解、泛化就是子类继承父类的方法,还能扩展自己的功能

eg:extend implements

2、 依赖(Dependency)

对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。

体现为:局部变量、方法的参数或者对静态方法的调用

eg:你要过河、需要借助船

3、关联(Association)

当对象A被加入到对象B中,成为对象B的组成部分时,对象B和对象A之间为聚集关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。

4.合成(Composition)

1、合成关系是关联关系的一种,是比聚合关系还要强的关系。
2、它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

时间: 2024-12-28 21:39:12

Java中类与类的关系的相关文章

面向对象中类和类的关系

在面向对象方法中,我们在确定了类及类的属性和方法后.不可避免的要研究类和类之间的关系,正是这些关系将整个事情串联起来.使彼此之间有了联系,就像现实生活中,人与人交往中存在着不同的关系. 了解这些关系,对于我们开发系统百利而无一害,能够让我们轻松.高效的工作,相同像我们在日常生活中处理好人与人之间的关系.会给我们带来巨大的优点.那么我们就来认识一下.面向对象中类与类之间有那些关系. 类和类之间的关系大概能够分为一下几种类型:泛化关系(Generalization).实现关系(realization

UML描述面向对象程序设计中类与类的关系

在面向程序设计中,类与类之间的关系主要有关联关系.依赖关系.泛化关系.接口与实现关系共四种关系.下面将简要进行概述: 一.关联关系 关联关系是类与类中较为常见的关系,其中又包含了以下六种子关联关系: (一)双向关系: 默认情况下,关联是双向的,例如,顾客与商品.父母与子女.双向关联关系用实线表示. (二)单向关联关系 表示一个类与另一个类单方面关联关系,例如居民拥有地址.单向关联用带箭头的实线表示. (三)自关联关系 代表该类与自身有关联关系,一个节点类的成员又是节点对象.用指向该类的带箭头的实

【深入理解JVM】:Java类继承关系中的初始化顺序

Java类初始化的顺序经常让人犯迷糊,现在本文尝试着从JVM的角度,对Java非继承和继承关系中类的初始化顺序进行试验,尝试给出JVM角度的解释. 非继承关系中的初始化顺序 对于非继承关系,主类InitialOrderWithoutExtend中包含了静态成员变量(类变量)SampleClass 类的一个实例,普通成员变量SampleClass 类的2个实例(在程序中的顺序不一样)以及一个静态代码块,其中静态代码块中如果静态成员变量sam不为空,则改变sam的引用.main()方法中创建了2个主

Java类继承关系中的初始化顺序

Java类初始化的顺序经常让人犯迷糊,现在本文尝试着从JVM的角度,对Java非继承和继承关系中类的初始化顺序进行试验,尝试给出JVM角度的解释. 非继承关系中的初始化顺序 对于非继承关系,主类InitialOrderWithoutExtend中包含了静态成员变量(类变量)SampleClass 类的一个实例,普通成员变量SampleClass 类的2个实例(在程序中的顺序不一样)以及一个静态代码块,其中静态代码块中如果静态成员变量sam不为空,则改变sam的引用.main()方法中创建了2个主

Java输入、输入、IO流 类层次关系梳理

Java输入.输入.IO流 类层次关系梳理 本文主要关注在Java编程中涉及到的IO相关的类库.方法.以及对各个层次(抽线.接口继承)的流之间的关系进行梳理 相关学习资料 http://baike.baidu.com/view/1007958.htm?noadapt=1 http://blog.csdn.net/hguisu/article/details/7418161 https://www.ibm.com/developerworks/cn/java/j-lo-javaio/ http:/

Java中类的关系

在java里类的关系大致分为三种, 1.继承(a is b):继承extends,实现implement 2.包含(a has b):组合>聚合>关联.关系亲密度越来越小,一个类在另一个类中声明为属性. 3.依赖(a use b):一个类中用到了别的类对象,比如a类的方法中创建b的对象并使用其属性跟方法. 类的关系设计原则:高内聚,低耦合(继承>组合>聚合>关联>依赖) 高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合) 低耦合:减少类内部,一个成员方法调用另

Java虚拟机的类载入机制

Java虚拟机类载入过程是把Class类文件载入到内存.并对Class文件里的数据进行校验.转换解析和初始化,终于形成能够被虚拟机直接使用的java类型的过程. 在载入阶段,java虚拟机须要完毕下面3件事: a.通过一个类的全限定名来获取定义此类的二进制字节流. b.将定义类的二进制字节流所代表的静态存储结构转换为方法区的执行时数据结构. c.在java堆中生成一个代表该类的java.lang.Class对象,作为方法区数据的訪问入口. Java虚拟机的类载入是通过类载入器实现的, Java中

Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)

(一)Java中的继承: 关于继承,在Java中类的继承只能是单继承,不像C+++那样灵活,可以多继承,多继承的后果就是各种关系乱套,就相当于一个孩子有2个母亲一样,社会关系的复杂,不利于程序后期的开发和维护,所有Java中的类是只能单继承,通过接口来实现多继承:对于接口的话,是可以多继承的,例如:A接口可以同时继承接口B和接口C,但是有一点要注意,就是实现接口A的类必须要实现接口A.B.C中所有的抽象方法:接口之所以可以多继承,就是因为接口结构比较简单. 继承是通过extends关键字来实现,

java中类的创建及初始化过程

java中类的创建及初始化过程无外乎两种情况,其一为单类的创建及初始化,其二具有继承关系的父子类创建及初始化过程.     首先说简单的,单类的创建及初始化过程.在java中我们都知道绝大部分对象的创建时通过new 这个关键字来完成,当我们在自己的代码中写上       new ClassName()://创建 ClassName类的一个实例时,解释器当截取new这个关键字时,就会为ClassName量身定做一个内存空间,这个时候也就是为该类中的所有成员变量分配内存空间之时,并对其进行最原始的初