默认适配器模式

默认适配器是怎样产生的呢?有时我们定义的接口中多个接口方法,如果直接实现此接口,那么需要在实现类中实现所有的方法,往往不同的需要,可能只用到接口中一个或者几个方法,但显然用这样的实现类会造成资源的浪费,系统开销的加大。那么如何解决此问题,用是配给模式。

适配器模式的的核心思想是:为原接口类实现一个默认的抽象类,在改抽象类中编写每一个放的默认实现,当我们需要编写一个具体类事,只需要继承该抽象类,而不需要实现原有的接口,并且不需要所有的接口方法,只实现需要的函数即可。下面看代码:

源接口:Sourceable

public interface Sourceable {

    public void operation1();

    public void operation2();

}

抽象类:DefaultWrapper,此类实现类接口Sourceable,并提供了两个接口函数的实现,在该实现中什么也不做,目的只是为了给其子类提供一个默认的实现,如下

public abstract class DefaultWrapper implements Sourceable {

   public void operation1(){}

   public void operation2(){}

}

子类继承自DefaultWrapper,只需实现自己想实现函数,之所以能这样是由于抽象类DefaultWrapper的屏蔽作用,代码如下

public class SourceSub1 extends DefaultWrapper {

    public void operation1(){

        System.out.println("hi,run the method operation1 of SourceSub1 ");

   }

}

public class SourceSub2 extends DefaultWrapper {

    public void operation2(){

        System.out.println("hi,run the method operation2 of SourceSub2");

   }

}

下面编写测试类DefaultWrapper,常见两个对象,然后调用方法operation1,operation2。代码如下

public class DefaultWrapperTest {

    public static void main(String[] args) {

         Sourcable1 source1 = new SourceSub1();

         Sourcable2 source2 = new SourceSub2();

         source1.operation1();

         source1.operation2();

         System.out.println("--------------------------------------------");

          source2.operation1();

         source2.operation2();

    }

}

运行该程序的结果如下:

hi,run the method operation1 of SourceSub1

--------------------------------------------

hi,run the method operation2 of SourceSub2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值