免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1214 | 回复: 0
打印 上一主题 下一主题

java与模式 关于Adapter适配器模式(二) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-15 20:47 |只看该作者 |倒序浏览
    对于适配器模式还有一种是对象适配器;就是说我们要使用的target是一个抽象类,由于我们只能继承一个类,所以我们决定将依赖adaptee,将adaptee的一个对象放到adapter里面。
    最主要的差别体现在:
   
/**
* 这里最大的区别就是target类不是接口了,而是一个抽象类。
* 和上面那个类适配器模式不同。所以在adapter类就只能继承target类
* 而依赖于adaptee类。
* @author Administrator
*
*/
public abstract class target{
   public abstract void provideWeak();
   public abstract void provideStrong();
}
一个是在target由接口变成抽象类。另外一个就是adapter

/**
* 就只有这里的区别了。磨合差别,因为target是一个抽象类,而不是一个接口,所以我们只好只
* 继承target类,而依赖于adaptee类。
* @author Administrator
*
*/
public class adapter extends target{
    adaptee adaptee;
  
    public adapter(String string){
        adaptee=new adaptee(string);
    }
    @Override
    public void provideStrong() {
     adaptee.showWithAster();
    }
    @Override
    public void provideWeak() {
        adaptee.showWithParen();
    }
}
差别很容易就体现了。。。
对于适配器模式,有一种缺省适配器模式,缺省适配器模式主要是因为inerface的方法得全部实现,而我们使用的一些类,就不需要所有的方法全部实现,我们就是用一个抽象类来实施iterface里面所有的类。
  在JDK里面有,比如WindowAdapter类就是一个缺省的适配器模式。使用这个我们就不需要将Iterface的 windowListener的方法全部实现,而只要实现其中的一部分。
   缺省适配器模式,就是节省我们的写法。增加灵活性
(个人感觉:觉得抽象类和接口的结合是很不错的事情。)


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/66973/showart_1308286.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP