接口大概意思:
- B想干一件事(如打电话),但没工具(如手机)。最终还是他自己干。
- A是租赁工具的,有很多工具,其中包括B要接的工具(手机)。
- 工具interface :手机、电脑、扳手、烙铁。。。
实例实现过程是:
A把带工具(interface)借给了B,B完成了想干的事(打电话)。
另:A向B出借东西时,可以有附件约定/规定。
为啥这么做:
- 解耦,出租人A、承租人B、工具接口全部解耦。
- 其他人C、D、E…不必各自占有工具,想干活都想A借,方便管理,节约资源。
- B、C、D、E…等人借来工具后,怎么干活,什么时候干活,还想干些啥自己说了算。
例子:
interface 手机(){
打电话();
充电();
玩游戏();
doanything()。。。。。
}
class A{
借手机(手机){
手机.打电话();
休息2分钟在用手机();//出租人A可以规定让承租人B某些事,或者怎么敢。。。可以在这里约定。如用开启线程,一边玩游戏,一边打电话。
手机.玩游戏();
dosomething();
}
借电脑(电脑){};
....
}
class B{
A a = new A()//
a.借手机(华为手机)
手机 华为手机 = new 手机(){
@Override
打电话(){
打给女朋友,秀恩爱。
}
@Override
玩游戏(){
玩下望着荣耀。
}
@Override
充电(){}; //B不充电,可以不干,即不用实现。
@Override
doanything(){}; //B不干其他事了,也即不用实现。
}
}