23种设计模式中的适配器模式

适配器模式:将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容。

个人见解:适配器模式实际上是用一个类来将两个不同类型的类进行兼容。

实际上是这样子的:

public interface IA{ //接口IA

  public void a();

}

public interface IB{//接口IB

  public void b();

}

public class A implements IA{

  @override

  public void a(){};

}

public class B implements IB{

  @override

  public void b(){};

}

然后我们应该怎么将调用A的方法就是调用B的方法,这就是兼容,就类似电源转换器一样,怎么让国外的设备也能在国内充电,这就需要一个转换适配器,那么这个转换适配器有应该写呢?

public Adapter implements IA{

  public IB b;

  public Adapter(IB b){

    super();

    this.b=b;

  }

  @override

  public void a(){

    b.b();

  }

}

OK,我们这个适配器写好了

调用的时候new Adapter(new B()).a();就能调用a的方法,实际上里面运行的是b的方法,适配器主要是达到这个目的

时间: 2024-10-05 20:21:04

23种设计模式中的适配器模式的相关文章

23种设计模式中的迭代器模式

迭代器模式:提供一种方法顺序访问一个聚合对象中的各个对象. 那么如何提供一个方法顺序呢? public interface Iterator<T>{ public boolean hasNext(); public T next(); } public class XXX{ private List<XXX> list =new ArrayList<>(); public Iterator getIterator (){ return new XXXIterator()

23种设计模式中的原型模式

原型模式:通过复制现有实例来创建新的实例,无须知道相应类的信息. 个人见解:在大量循环时,需要初始化对象,用 原型模式能节省大量的初始化所花费的时间,值得一谈的是浅复制和深复制 浅复制:Object类的clone方法只会拷贝对象中的基本的数据类型,对于数组.容器对象.引用对象等都不会拷贝 代码 在这里我定义了一个学生类Student.java public class Student implements Cloneable { private String name; public Stude

23种设计模式中的桥接模式

桥接模式:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变. 个人见解:实际上是为了同时实现两个协议,而让其中一个协议让父类实现而另一个协议自己实现. public interface IA{ public void a(); } public interface IB{ public void b(); } public ABfather implements IA{ @override public void a(){} } public AB extends ABfather i

23种设计模式中的访问者模式

访问者模式:对于一组对象,在不改变数据结构的前提下,增加作用于这些结构元素新的功能. 适用于数据结构相对稳定,它把数据结构和作用于其上的操作解耦,使得操作集合可以相对自由地演化. 优点: 符合单一职责原则 扩展性良好 有益于系统的管理和维护 缺点: 增加新的元素类变得很困难 破坏封装性 适用场合: 如果一个系统有比较稳定的数据结构,又有经常变化的功能需求,那么访问者模式就是比较合适的

谈谈23种设计模式在Android源码及项目中的应用

本文首发于个人博客:Lam's Blog - 谈谈23种设计模式在Android源码及项目中的应用,文章由MarkDown语法编写,可能不同平台渲染效果不一,如果有存在排版错误图片无法显示等问题,烦请移至个人博客,如果个人博客无法访问可以留言告诉我,转载请声明个人博客出处,谢谢. 前言 本文将结合实际谈谈23种设计模式,每种设计模式涉及 * 定义:抽象化的定义与通俗的描述,尽量说明清楚其含义与应用场景 * 示例:如果项目中有使用过该模式,则会给出项目中的代码,否则会给出尽可能简单好理解的java

从Android代码中来记忆23种设计模式

我的简书同步发布:从Android代码中来记忆23种设计模式 相信大家都曾经下定决心把23种设计模式牢记于心,每次看完之后过一段时间又忘记了~,又得回去看,脑子里唯一依稀记得的是少数设计模式的大致的定义.其实,网上很多文章讲得都非常好,我也曾经去看过各种文章.也曾一直苦恼这些难以永久记下的设计模式,直到我接触到了<Android源码设计模式解析与实战>--何红辉与关爱明著,发现原来其实我们在Android中都接触过这些设计模式,只是我们不知道而已.既然我们都接触过,我们只需一一对号入座,对设计

23种设计模式(1):单例模式

转:http://blog.csdn.net/zhengzhb/article/details/7331369 ———————————————————————————————————————— 定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 类型:创建类模式 类图: 类图知识点: 1.类图分为三部分,依次是类名.属性.方法 2.以<<开头和以>>结尾的为注释信息 3.修饰符+代表public,-代表private,#代表protected,什么都没有代表包可

23种设计模式第一种(单例模式)

单例模式单例模式 ------------------------------------------------------------------------------------------------------- 确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. -------------------------------------------------------------------------------------------------- 创建类模式

23种设计模式(一) 单例模式

单例模式 定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 单例模式是23种设计模式中最简单的一种,它有三个要素: 私有的构造方法 指向自己实例的私有静态引用 以自己实例为返回值的静态的公有的方法 单例模式根据实例化对象时机的不同分为两种:一种是饿汉式单例,一种是懒汉式单例.饿汉式单例在单例类被加载时候,就实例化一个对象交给自己的引用:而懒汉式在调用取得实例方法的时候才会实例化对象. 饿汉式单例 public class Singleton { private static