Java类和类之间关系

来源:互联网 发布:全站仪数据采集 编辑:程序博客网 时间:2024/06/06 00:26
类和类之间关系包括了 is a,has a, use a三种关系
is a包括了 继承,实现关系
has a包括了 组合,聚合,关联关系
use a包括了 依赖关系
继承:子是父的关系,狗是动物
[Java] 纯文本查看 复制代码
?
1
2
publicclassAnimal{}
publicclassDog extendsAnimal{}


实现:实现类实现接口,同样是是的关系,UserServiceImpl实现了UserService接口
[Java] 纯文本查看 复制代码
?
1
2
publicinterfaceUserService{}
publicclassUserServiceImpl implementsUserService{}


组合:有的关系,人有一个心脏,而且这个心脏是在创造人时,内部创造的
[Java] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
publicclassHeart{}
publicclassPerson{
    privateHart hart;
    publicPerson(){
        this.hart=newHart();
    }
}


聚合:有的关系,汽车有发动机,而且汽车产生就有发动机了,而对于汽车制造的时候,发动机不一定是自己造的,可以拿别人造好的发动机
[Java] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
publicclassEngine{}
publicclassCar{
    privateEngine engine;
    publicCar(Engine engine){
        this.engine=engine;
    }
}


关联:一个人可以有一辆汽车,而这个汽车不是一个人出生就有,而是后期买的
[Java] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
publicclassCar{}
publicclassPerson{
    privateCar car;
    publicvoidsetCar(){
        this.car=car;
    }
}


依赖:使用的关系,一个人可以做火车到达想去的地方,但火车不是这个人的东西,人只是使用火车移动
[Java] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
8
publicclassTrain{
    publicvoidmove(){}
}
publicclassPerson{
    publicvoidmove(Train train){
        train.move();
    }
}



通过代码可以看出,类和类之间的关系,按我这个顺序是从高到低
一个类改变了对于其他类的影响也是从高到低
我们写代码要遵守两个原则
高低原则
    高内聚,低耦合
开闭原则
   对扩展开,对修改闭
所以我们写代码,能有耦合低的关系就不要用耦合高的关系
附类图

oo.png (7.66 KB, 下载次数: 7)

oo.png
3 0
原创粉丝点击