3.7 类之间的关系

3.7.1 泛化关系

类和类之间的继承关系及接口与接口之间的继承关系。

3.7.2 实现关系

类对接口的实现。

3.7.3 关联关系

类与类之间的连接,一个类可以知道另一个类的属性和方法,在java 语言中使用成员变量体现。

Me

public class Me{

String name; //Field

//在当前类中含有其他类的引用。

//在当前对象中含有指向其他对象的引用。

//朋友

Friend f; //Me和Friend就是关联关系

Me(Friend f){

this.f = f;

}

}

Friend

public class Friend{

//Field

String name;

String addr;

String tel;

Friend(String addr){

this.addr = addr;

}

}

Test

public class Test{

public static void main(String[] args){

Friend f = new Friend("北京朝阳");

//建立关联关系

Me m = new Me(f);

//通过m可以获取朋友的住址

System.out.println(m.f.addr);

}

}

3.7.4 聚合关系

是关联关系的一种,是较强的关联关系,是整体和部分的关系,如:汽车和轮胎,它与关联关系不同,关联关系的类处在同一个层次上,而聚合关系的类处在不平等的层次上,一个代表整体,一个代表部分,在java 语言中使用实例变量体现。

Classroom

//ClassRoom就是整体

public class ClassRoom{

//ClassRoom和List集合属于关联关系.在同一个层级上.

//ClassRoom和Student属于聚合关系,一个是整体,一个是部分.

List<Student> stus; //Student就是部分.

//聚合关系:整体不依赖部分,部分也不会依赖整体。

//整体无法决定部分的生命周期。

}

Student

public class Student{

}

3.7.4 合成关系

是关联关系的一种,比聚合关系强的关联关系,如:人和四肢,整体对象决定部分对象的生命周期,部分对象每一时刻只与一个对象发生合成关系,在java 语言中使用实例变量体现。

public class 人{

//人和List是关联关系.

//人和四肢是合成关系,人是整体,四肢是部分.

//合成关系和聚合关系是相似的,区别的地方在:整体和部分是紧密相连的

//整体的生命周期决定部分的生命周期。

List<四肢> s;

}

四肢

public class 四肢{

}

3.7.5 依赖关系

依赖关系是比关联关系弱的关系,在java 语言中体现为返回值,参数,局部变量和静态方法调用。

Test

public class Test{

public void m1(){

//局部变量

User u = new User(); //依赖关系.

}

}

User

class User{

}

Java——类之间的关系的更多相关文章

  1. java 类之间的关系

    一.继承 二.实现 三.组合

  2. Java 中类与类之间的关系

    在java中类和类之间的关系基本上有依赖.关联.聚合.组合等 一.继承关系     继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在J ...

  3. java 类与类之间的关系 及uml图

    类与接口之间的关系 : 继承 类与类之间的关系 :继承关系  包含关系 类与对象之间的关系 : 实例 UML 类图中类与类之间的关系: 泛化关系(generalization) 关联关系(associ ...

  4. 全面解释java中StringBuilder、StringBuffer、String类之间的关系

    StringBuilder.StringBuffer.String类之间的关系 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,在上一篇博文中我 ...

  5. 【47】java的类之间的关系:泛化、依赖、关联、实现、聚合、组合

    java的类之间的关系:泛化.依赖.关联.实现.聚合.组合 泛化: • 泛化关系(Generalization)也就是继承关系,也称为"is-a-kind-of"关系,泛化关系用于 ...

  6. Java中接口与接口和类之间的关系

    接口和接口之间的关系 继承关系 可以多继承,并且可以多层继承 注意: 1.如果多个父接口中有同名的抽象方法,那么子接口只需要实现一次即可 2.如果多个父接口中有同名的默认方法,那么子接口必须重写默认方 ...

  7. Java类之间的关联关系(转载)

    Java类之间的关联关系 UML类图中的关系分为四种:泛化.依赖.关联.实现:关联关系又可以细化为聚合和组合. 一.泛化(Generalization) 泛化是父类和子类之间的关系,子类继承父类的所有 ...

  8. UML类图及类与类之间的关系

    原文地址:http://www.uml.org.cn/oobject/201211231.asp 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的 ...

  9. ZT UML 类与类之间的关系

    1.聚合关系是关联关系的一种,是强的关联关系.     2.聚合是整体和部分之间的关系,例如汽车由引擎.轮胎以及其它零件组成. 3.聚合关系也是通过成员变量来实现的.但是,关联关系所涉及的两个类处在同 ...

随机推荐

  1. Python自动补全缩写意义

    自动补全的变量的类别p:parameter 参数 m:method 方法(类实例方法)调用方式classA aa.method()或者classA().method() c:class 类 v:var ...

  2. Java:新建数组

    Array Initialization int[] a; = int a[]; int[] a = new int[100]; a[]的值会被初始化为0 `int[] smallPrimes = { ...

  3. [CSP-S模拟测试]:字符(模拟+剪枝)

    题目传送门(内部题33) 输入格式 第一行,两个整数$T,C$,表示测试数据组数和字符种类数.对于每组数据:第一行,一个正整数$M$:接下来的$M$行,每行两个整数$P_k,X_k$($S$的下标从$ ...

  4. mysql常用内置函数-查询语句中不能使用strtotime()函数!

    来自:http://yushine.iteye.com/blog/775407 FROM_UNIXTIME把 unix时间戳转换为标准时间 unix_timestamp把标准时间转换为 unix时间戳 ...

  5. 软件-平面设计-CorelDRAW:CorelDRAW

    ylbtech-软件-平面设计-CorelDRAW:CorelDRAW CorelDRAW Graphics Suite是加拿大Corel公司的平面设计软件:该软件是Corel公司出品的矢量图形制作工 ...

  6. 58、salesforce学习笔记(五)

    Set集合 Set<String> set1 = new Set<String>(); set1.add('1'); set1.add('2'); Set<String& ...

  7. UCML 原生Android中嵌入Cordova Webview

    Android实现在当前进程打开网页可以将Cordova中的WebView嵌入Android项目中,实现简单,不需要自己实现,所以掌握如何嵌入WebView对项目快速开发很有帮助 官方也有这方面的教程 ...

  8. Java + selenium Timeout接口用法介绍

    上一篇介绍了关于如何启动浏览器的方法.这篇文章要介绍一下,上一篇代码中关于等待时间的接口方法,代码如下: driver.manage().timeouts().pageLoadTimeout(5, T ...

  9. python学习笔记:模块——自定义模块的3种导入方式

    一.定义 模块就是用一堆的代码实现了一些功能的代码的集合,通常一个或者多个函数写在一个.py文件里,而如果有些功能实现起来很复杂,那么就需要创建n个.py文件,这n个.py文件的集合就是模块.如果不懂 ...

  10. Python面试题之“猴子补丁”(monkey patching)指的是什么?这种做法好吗?

    “猴子补丁”就是指,在函数或对象已经定义之后,再去改变它们的行为. 举个例子: import datetime datetime.datetime.now = lambda: datetime.dat ...