Java程序设计(第3版) 课件 -第二部分 类之间的关系.pptx

Java程序设计(第3版) 课件 -第二部分 类之间的关系.pptx

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;第8章关联关系;关联关系的方向

关联关系可以分为单向关联和双向关联两种,如果有A类和B类,所谓单向关联即B类作为A类的属性存在,但A类不是B类的属性。如以下代码:;关联关系的多重性

除了从方向上考虑,还可以从多重性方面考虑关联关系。常见的关联关系有一对一关联和一对多关联。例如,如果一个员工对象只能在一个部门中,那么员工和部门之间就是一对一的关联关系;如果一个员工可以同时挂职在多个部门,那么员工和部门之间就是一对多的关联关系。现实中,一对多的关联关系远多于一对一的关联关系,例如,一个系有多个专业,一个专业有多个班,一个班有多名学生,一名学生选多门课程等。显而易见,如果A类和B类是一对多的关联关系,那么就需要在A类中引用多个B类的对象。而如何对多个B类对象进行管理,是必须解决的问题。

解决一对多的关联关系,“多”的这方对象一定需要用另外一个对象进行“持有”,或者称为“容纳”,否则无法进行管理。Java语言中能承担“数据容器”任务的对象有两种:数组和集合。;数组

1.数组的定义

数组是类型相同的元素的集合,可以存储任何数据类型,但是只有类型相同的元素才可存到一个数组中。

2.数组的类型

数组是引用类型。数组中存储的元素可能是基本数据类型,也可能是引用类型,但是数组对象本身是引用类型,即对象。

3.数组的声明

Java语言中,数组的声明方式有两种。如以下代码:;数组的创建及长度

声明数组后,数组对象还只是一个空指针,不能使用。要使用数组,必须先创建数组。本节主要介绍数组的创建方法。

1.数组的创建

数组是引用类型,因此也需要使用new关键字创建,创建时必须指定数组的长度,长度是数组中能存储的元素个数。如以下代码:;数组的创建及长度

2.数组的长度

创建数组时必须指定数组的长度,而且长度值会直接初始化到内存中。例如,虽然c=newchar[5];创建的数组c长度为5,但是分配的内存空间却是6块,其中除了5个数组元素外,另一个空间存储了数组的长度,如图所示。

访问数组的长度不需要调用方法,使用数组的length属性即可。如c.length直接返回???组c的长度,值为5。;数组元素的访问

数组是用来存储其他变量的对象,所以在实际应用中,不可避免地需要访问数组中的元素。往往使用索引访问数组中的元素,索引值从0开始。如以下代码:

上述代码中的数组a的长度为3,所以可以使用索引0、1、2访问数组的第一个到第三个元素,进行赋值等操作。

除了对数组中的元素进行赋值,还常常遍历数组中的元素。遍历数组中的元素有两种方式:一种是传统for循环,另一种是增强for循环。如以下代码:;数组的赋值

数组必须进行赋值才能使用,本节将介绍数组赋值的3种方式。

1.声明的同时,使用new关键字创建。如以下代码:;多维数组

声明一个二维int型数组可以有以下3种方式。;数组的复制

在JDKAPI的System类中,提供了一个复制数组的静态方法。代码如下:;Arrays类

JavaAPI的java.util包中提供了数组的工具类Arrays。该类中的所有方法都是静态方法,可以对数组进行操作,主要有以下几种。

1.二分查找(binarySearch)

本类中提供了大量的二分查找方法,可以在数组中查找指定值的元素,返回该元素的索引值。

如:

2.填充(fill)

本类中提供了大量的填充方法,可以对数组中指定范围的元素使用指定的值填充。

如:

3.排序(sort)

本类中提供了大量的排序方法,可以对数组中的元素进行排序。

如:;依赖关系是类与类之间另一种常见的关系。可以将这种关系理解为“USE-A”关系,即“使用”关系。

Java语言中依赖关系的表示

依赖关系是一种“使用”关系,如果A类对象的某个方法的参数是B类对象,那么就可以说A类依赖B类。如以下代码:;依赖与关联的区别

关联关系是面向对象程序设计中常用的复用策略,依赖关系相对于关联关系是一种“简单”的关系,本节将比较两种关系的不同。

1.关联关系是“HAS”关系,依赖关系是“USE”关系

A类关联B类,指的是B类对象作为A类对象的属性存在,称为“HAS”关系。A类依赖B类,指的是B类对象作为A类对象的方法参数存在,称为“USE”关系。

2.生命周期不同

如果A类关联B类,那么创建A类对象时就会实例化B类对象,直到A类对象被销毁,所关联的B类对象才被销毁,即只要A类对象存在,B类对象就存在。而如果A类依赖B类,那么只有当A类对象调用到相应方法时,B类对象才被临时创建,方法执行结束,B类对象即被回收,A类和B类之间的依赖关系是一种瞬时关系。;Java语言的继承

在Java语言中,如果B类是在A类的基础上衍生出来的,即B类不仅拥有A类的所有属性和方法,还扩展了新的属性或方法,那么就可以让B类继承A

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档