`
Ozone
  • 浏览: 25398 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Adapter模式(Class Adapter)

阅读更多
昨天讨论了Adapter模式的一种情况Object Adapter,他比较适用于某些时候的二次开发,但我们拿到某一个组件的class文件,没有源码,只有功能列表的情况时,某些时候整合需要Object adapter。Adapter还有另外一种情况 Class Adapter。
我们现在的程序使用接口 PutBags
public interface PutBags {
  public void putAllBags();
}

如果我们有一个类的class文件PutFootBall,而无法适用其源码。只能适用其中的putAllFootBall()方法。
public class PutFootBall {
  public void putAllFootBall(){
    System.out.println("Put Football....");
  }
}

而在我们现有的程序所适用的方式是
public class Put implements PutBags{
  public void putAllBags(){
    System.out.println("Realize method....");
  }
  public void putOther(){
    System.out.println("Other....");
  }
}

如果我们现在不想改变PutBags接口,并且不希望改变PutAllFootBall()此时

我们考虑,如何让Put类既有第三方类的功能,又不改变原有的接口继承?简

单的讲,要想某个类拥有其他的类的功能继承是最普遍的方法。所以我们使用

继承并实现的方式
public class Put extends PutFootBall implements PutBags{
  public void putAllBags(){
    putBall();  
}
}
分享到:
评论
3 楼 bloodrate 2008-06-11  
我觉得不如改成这样:

public class Put implements PutBags{
   PutFootBall pb = new PutFootBall()
   public void putAllBags(){  
     putBall();    
   }  
   public void putAllFootBall(){
      pb.putAllFootBall();
   }
}

我总觉得adapter最佳用处是用来实现某些类接口不统一的情况得
2 楼 xql80329 2008-06-03  
putBall();     哪儿呢?
1 楼 zong2007 2008-05-11  
嗯,不错,刚好温习下设计模式,共享下

相关推荐

    设计模式之Adapter模式和代码实现

    Adapter模式是一种设计模式,主要目的是解决不同接口之间不兼容的问题,使得原本无法协同工作的类能够协同工作。在本文中,我们通过一个形如"形状"的范例来讲解Adapter模式的概念和实现。 首先,我们有一个抽象基类...

    Adapter模式

    Adapter模式是一种软件设计模式,它允许不兼容的接口之间进行通信。在Java或者其他面向对象语言中,Adapter模式常被用来解决新旧系统对接、不同组件间的接口不匹配等问题。通过Adapter,我们可以让原本无法协作的...

    C++设计模式代码资源16_Adapter.zip

    《C++设计模式:Adapter模式解析与应用》 在软件工程中,设计模式是一种解决常见问题的可重用解决方案,它代表了最佳实践,并已被广泛接受。Adapter模式,也称为适配器模式,是设计模式中的一种,它允许两个不兼容...

    ClassAdapter.zip

    在这个“ClassAdapter.zip”压缩包中,包含的是一段实现基础类适配器的代码。适配器模式在iOS应用中尤其常见,因为Apple的SDK提供了许多不同类库和接口,而这些类库可能有不同的方法签名或行为,适配器可以帮助我们...

    设计模式——适配器模式(adapter)

    适配器模式(Adapter Pattern)是软件设计模式中的一种,其主要目的是解决系统中的接口不兼容问题,使得原本由于接口不匹配而无法一起工作的类能够协同工作。在本文中,我们将深入探讨适配器模式的概念、结构、作用...

    适配器模式adapter,含源码下载

    适配器模式(Adapter Pattern)是一种结构型设计模式,它能将两个不兼容的接口连接在一起,使得原本由于接口不匹配而无法一起工作的类能够协同工作。在IT行业中,适配器模式广泛应用在系统集成、组件重用以及解决...

    FlowTag-Android流式布局,支持点击、单选、多选,支持初始化选中标签(只针对单选和多选模式),适合用于产品标签等,用法采用Adapter模式,和ListView、G.zip

    Android流式布局,支持点击、单选、多选等,适合用于产品标签等,用法采用Adapter模式,和ListView、GridView用法一样!2016/6/26号新添加初始化标签功能,使用非常简单,只要你的Adapter实现OnInitSelectedPosition...

    python实现Adapter模式实例代码

    本文研究的主要是python实现Adapter模式的相关内容,具体实现代码如下。 Adapter模式有两种实现方式一种是类方式。 #理解 #就是电源适配器的原理吧,将本来不兼容的接口类能够工作 #这个是类实现方式 #例子 #假如一...

    可重用的自定义adapter

    2. **适配器类(Adapter Class)**:这个类继承自BaseAdapter或RecyclerView.Adapter,并实现必要的方法,如`getItemCount()`,`getItemId()`,`getView()`(对于BaseAdapter)或`onCreateViewHolder()`,`...

    android listview 自反射 adapter

    2. 在Adapter类中,使用`Class<T>`对象来获取数据模型的字段信息,这可以通过`Class.forName()`方法实现,传入数据模型类的全限定名。 3. `getView()`方法中,使用反射来获取数据模型的字段值,并设置到ListView的...

    android gridview adapter 实例

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示大量数据,通常用于创建如应用图标、照片墙或者菜单等界面。...理解并熟练运用Adapter模式是Android开发中的重要技能之一。

    C#面向对象设计模式纵横谈(7):Adapter 适配器模式(结构型模式) (Level 300)

    2. 适配器(Adapter)类:适配器是模式的核心,它实现了目标接口,并通过内部持有旧的组件或者接口(即Adaptee),将旧接口转换成目标接口。 3. 被适配者(Adaptee)类:这是原有的、不兼容的接口,需要被适配以适应...

    重写Adapter实现Ios TableView效果

    public class GroupData { public String groupTitle; public List<ItemData> itemList; } ``` 2. **自定义Adapter**:创建一个新的Adapter类,继承自`BaseAdapter`。你需要重写以下几个方法: - `getCount()...

    RecycleView通用的Adapter适配器

    public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> { private List<String> dataList; public MyAdapter(List<String> dataList) { this.dataList = dataList; } @Override ...

    最简洁的adapter

    同时,我们使用了ViewHolder模式来存储并重用View,这样可以提高列表滚动时的流畅性。 除了基本的Adapter使用,xUtils还提供了API来进一步简化操作。例如,你可以使用`x.view().inject(this)` 来自动注入Adapter中...

    自定义ViewGroup+Adapter

    public class CustomScrollView extends ViewGroup { private Adapter mAdapter; public CustomScrollView(Context context, Adapter adapter) { super(context); this.mAdapter = adapter; } @Override ...

    分离holder的低耦合度的adapter

    public class LowCouplingAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private List<Object> mDataList; public LowCouplingAdapter(List<Object> dataList) { this.mDataList = dataList...

    Android之Adapter用法总结

    ### Android之Adapter用法总结 #### 一、概念与作用 **Adapter** 是 Android 开发中连接后端数据和前端视图的一个关键组件。它作为数据和用户界面(UI)之间的桥梁,在Android开发中扮演着极其重要的角色。尤其是...

    java设计模式之适配器模式(Adapter)

    适配器模式(Adapter Pattern)是软件设计模式中的一种,其主要目的是解决接口不兼容问题,使得原本因为接口差异无法协同工作的类能够协同工作。在Java中,适配器模式通常分为类的适配器模式和对象的适配器模式。 ...

Global site tag (gtag.js) - Google Analytics