6/23作业:类之间关系
来源:互联网 发布:caffe model zoo 编辑:程序博客网 时间:2024/05/21 18:44
类之间关系
---关联关系
---依赖关系
---继承关系
---实现关系(本质也是继承关系)
1.关联关系
对象和对象之间的连接。在Java中,关联关系的代码表现形式为一个类做为另一个类的属性类型存在。
即“有”的关系:”has-a”。
关联关系分为单向关联和双向关联
单向关联: A类关联B类。
双向关联:A类关联B类,B类关联A类;
public class Phone {
private Person per;
}
public class Person {
private Phone phone;
}
关联关系的多重性
一对一关联:一个学生,只能在一个班级里学习。
例:
public class Classes{
private Student cla;//班级
}
public class Student{
}
一对多关联:一个学生,可以参加多个班级学习。
解决一对多的关联的方案
集合
数组
解决一对多的关联的方案
集合
例:
public class Classes{
}
public class Student{
private List Classess;
}
数组
例:
public class Classes{
}
public class Student{
private Classes[] Classess;
}
关联关系的特殊情况
如果两个互相关联的类中有整体和部分的关系,关联关系分为: 聚合和组合,主要区别在于生命周期不同。
聚合:
eg:
public class Team{
private Player player;//运动员
}
public class Player{
}
创建Team对象时Player对象可以不创建,当Player对象销毁时Team
组合:
eg:
public class Team{
private Player p=new
Player();//队员
}
class Player{
}
创建Team对象的时Player类同样创建,Team对象销毁时,Player对象也销毁
2.依赖关系的定义
依赖关系(use-a)
指一个类A使用到了另一个类B
依赖关系的特性
这种关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。
依赖关系的代码实现
依赖具体表现
在代码层面,依赖关系表现为类B作为参数被类A在某个method
方法中使用
例:
public class Person {
public void travel(Bus bus){
}
}
3.依赖与关联的区别
关联是“HAS”关系,依赖是“USE”关系
A类关联B类,指的是B类对象作为A类的属性存在,称为“has”关系。
A类依赖B类,指的是B的对象作为A类的方法参数存在,称为“use”关系。
生命周期不同
如果A类关联B类,那么创建A类的对象时实例化B类的对象,直到A类对象被销毁,所关联的B类对象也被销毁。即只要A类对象存在,B类对象就存在。
如果A类依赖B类,那么只有当A类对象调用到相应方法时,B类对象才被临时创建,方法执行结束,B类对象即被回收,A类和B类之间的依赖关系是一种瞬时的关系。
- 6/23作业:类之间关系
- 讲作业的day13/类之间的关系day14
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- 类之间的关系
- UML类之间关系
- 类之间的关系
- 类之间的关系
- easyui环境搭建
- 卸载CentOS7-x64自带的OpenJDK并安装Sun的JDK7的方法
- Kotlin学习之-5.13 代理属性
- JavaScript的正则表达式(一)
- 711(2)
- 6/23作业:类之间关系
- r语言神经网络
- LA 3905 Meteor [扫描线]
- Hadoop 集群搭建之一 CentOS7 安装
- 利用StringBuffer读写文件实例
- EA&UML日拱一卒-活动图::SendSignalAction
- DBA扁鹊
- POJ bfs+dfs之3083-Children of the Candy Corn
- python文件操作