结构模式:将类和对象结合在一起构成更大的结构,就像是搭积木。
1.适配器模式
源接口---适配器--目标接口
2.使用场景:
现在你有一个很古老的类,里面的一些方法很有用,你如何使用这些方法?
当然你可以new 一个对象直接访问,但是,我们现在需要使用新的接口。比如:Old类实现了两个很牛逼的功能,
class Old
{
public void f1(){..};
public void f2(){..};
}
现在我实现一个新的类,在新的类中要使用另外的接口。
public interface a
{ f1();
f2();
f3();
}
f1 f2,就是类Old中实现出现的方法,
我可以这样(面向类的):
class Adapter extends Old implements a
{
f3();//直接写个f3就行,其他两个继承。
};
我们还可以这样:
class Adapter implements a
{
Old old;
public Adapter(Old old)
{
this.old=old;
}
public fun1()
{
old.fun1();
}
public fun2()
{
old.fun2();
}
public fun3()
{
//自己实现
}
}
最后,其实就是如何使用老类中的方法呢?
继承是不妥的是,高耦合的,使用组合的方式比继承好。