适配器模式

1、适配器模式所要解决的问题:
     对于java程序来说,如果一个类A要实现一个接口B。则肯定要覆写此接口中的全部抽象方法,那么如果此时在一个接口中定义的抽象方法过多,但是在子类A中又用不到这么多的抽象方法,则肯定很麻烦,所以此时就需要一个中间过渡的类C,这个类就是适配器类。适配器类是一个抽象类。
     在使用的时候,类A就不再直接去实现接口B,而是继承那个适配器类C。C实现了接口A。C必须覆写B中的所有方法,而A就不需要再覆写适配器C中的所有方法了。

2、适配器模式的例子:

interface Window{          // 定义Window接口,表示窗口操作
     public void open() ;     // 打开
     public void close() ;     // 关闭
     public void activated() ;     // 窗口活动
     public void iconified() ;     // 窗口最小化
     public void deiconified();  // 窗口恢复大小
}
//适配器类实现了上面的接口类,需要覆写接口里面所有的方法
abstract class WindowAdapter implements Window{
     public void open(){} ;     // 打开
     public void close(){} ;     // 关闭
     public void activated(){} ;     // 窗口活动
     public void iconified(){} ;     // 窗口最小化
     public void deiconified(){};// 窗口恢复大小
};
class WindowImpl extends WindowAdapter{

//继承的是适配器类WindowAdapter, 不需要覆写WindowAdapter 的所有抽象方法。

     public void open(){
          System.out.println("窗口打开。") ;
     }
     public void close(){
          System.out.println("窗口关闭。") ;
     }
};
public class AdapterDemo{
     public static void main(String args[]){
          Window win = new WindowImpl() ;
          win.open() ;
          win.close() ;
     }
};





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值