Java类和类之间关系
来源:互联网 发布:全站仪数据采集 编辑:程序博客网 时间:2024/06/06 00:26
类和类之间关系包括了 is a,has a, use a三种关系
is a包括了 继承,实现关系
has a包括了 组合,聚合,关联关系
use a包括了 依赖关系
继承:子是父的关系,狗是动物
实现:实现类实现接口,同样是是的关系,UserServiceImpl实现了UserService接口
组合:有的关系,人有一个心脏,而且这个心脏是在创造人时,内部创造的
聚合:有的关系,汽车有发动机,而且汽车产生就有发动机了,而对于汽车制造的时候,发动机不一定是自己造的,可以拿别人造好的发动机
关联:一个人可以有一辆汽车,而这个汽车不是一个人出生就有,而是后期买的
依赖:使用的关系,一个人可以做火车到达想去的地方,但火车不是这个人的东西,人只是使用火车移动
通过代码可以看出,类和类之间的关系,按我这个顺序是从高到低
一个类改变了对于其他类的影响也是从高到低
我们写代码要遵守两个原则
高低原则
高内聚,低耦合
开闭原则
对扩展开,对修改闭
所以我们写代码,能有耦合低的关系就不要用耦合高的关系
附类图
is a包括了 继承,实现关系
has a包括了 组合,聚合,关联关系
use a包括了 依赖关系
继承:子是父的关系,狗是动物
[Java] 纯文本查看 复制代码
1
2
public
class
Animal{}
public
class
Dog
extends
Animal{}
实现:实现类实现接口,同样是是的关系,UserServiceImpl实现了UserService接口
[Java] 纯文本查看 复制代码
1
2
public
interface
UserService{}
public
class
UserServiceImpl
implements
UserService{}
组合:有的关系,人有一个心脏,而且这个心脏是在创造人时,内部创造的
[Java] 纯文本查看 复制代码
1
2
3
4
5
6
7
public
class
Heart{}
public
class
Person{
private
Hart hart;
public
Person(){
this
.hart=
new
Hart();
}
}
聚合:有的关系,汽车有发动机,而且汽车产生就有发动机了,而对于汽车制造的时候,发动机不一定是自己造的,可以拿别人造好的发动机
[Java] 纯文本查看 复制代码
1
2
3
4
5
6
7
public
class
Engine{}
public
class
Car{
private
Engine engine;
public
Car(Engine engine){
this
.engine=engine;
}
}
关联:一个人可以有一辆汽车,而这个汽车不是一个人出生就有,而是后期买的
[Java] 纯文本查看 复制代码
1
2
3
4
5
6
7
public
class
Car{}
public
class
Person{
private
Car car;
public
void
setCar(){
this
.car=car;
}
}
依赖:使用的关系,一个人可以做火车到达想去的地方,但火车不是这个人的东西,人只是使用火车移动
[Java] 纯文本查看 复制代码
1
2
3
4
5
6
7
8
public
class
Train{
public
void
move(){}
}
public
class
Person{
public
void
move(Train train){
train.move();
}
}
通过代码可以看出,类和类之间的关系,按我这个顺序是从高到低
一个类改变了对于其他类的影响也是从高到低
我们写代码要遵守两个原则
高低原则
高内聚,低耦合
开闭原则
对扩展开,对修改闭
所以我们写代码,能有耦合低的关系就不要用耦合高的关系
附类图
3 0
- Java类和类之间关系
- java抽象类和接口和继承之间关系
- java抽象类和接口和继承之间关系
- java抽象类和接口和继承之间关系
- Java抽象类和接口和继承之间关系
- Java抽象类和接口和继承之间关系
- JAVA类之间的关系
- Java类之间的关系
- java类之间的关系
- Java类之间的关系
- Java类之间的关系
- Java类之间的关系
- java类之间的关系
- Java类之间的关系
- java中类和类之间的关系
- java中类和类之间的关系
- java抽象类、接口和继承之间关系
- Java中子类和父类之间的调用关系
- vijos P1905生活大爆炸版 石头剪刀布
- Java的选择结构
- Android简易实战教程--第二十五话《网络图片查看器》
- jdbc 初级
- 通讯录的实现(三) ——————文件实现
- Java类和类之间关系
- 通俗理解卷积神经网络
- Python入门:socket连续接收客户端数据
- eclipse编码设置
- Linux-文件备份shell
- HDU 2602 Bone Collector【01DP(二)】
- Ajax框架整合
- JS字符串,数组操作(持续更新)
- c语言项目 注释转换 (c———c++)