设计模式--适配器模式

适配器实际上分两种,有“对象”适配器与“类”适配器。我们这注意讲的是对象适配器。“类”适配器是别的语言的多继承的时候使用。就是通过继承来实现适配器。而我们要说的“对象”适配器是通过组合实现适配。

举个例子你就能明白“对象”适配器了。

假设有 鸭子接口

public interface Duck{

public void quack();

public void fly();

}

//这是绿头鸭

public class MallardDuck implements Duck{

public void quack(){

System.out.println("quack");

}

public void fly(){

System.out.println("i am fly");

}

}

//这是“街头顽禽”

public interface Turkey{

public void gobble();//火鸡不会嘎嘎叫,只会咯咯叫

public void fly();//也会飞,只是飞不远

}

//火鸡类

public class WildTurkey implement Turkey{

public void gobble(){

System.out.println("gobble");

}

public void fly(){

System.out.println(" i am fly a short distance");

}

}

//现在假设你缺少鸭子对象,想用火鸡对象来冒充。显然两者接口不同,所以不能直接使用,就可以写个适配器来实现。

public class TurkeyAdapter implements Duck{

Turkey turkey;

public TurkeyAdapter(Turkey turkey){

this.turkey = turkey;

}

public void quack(){

turkey.gobble();

}

public void fly(){

for(int i=0;i<5;i++){

turkey.fly();

}

}

//上面就是适配器的简单例子。很好理解。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 本文的结构如下: 什么是适配器模式 为什么要用该模式 模式的结构 代码示例 优点和缺点 适用环境 模式应用 ...
    w1992wishes阅读 893评论 0 3
  • Objective-C Demo下载地址 模式的定义 适配器模式把一个类的接口变换成用户所期待的另一种接口,从而使...
    Leasing_zong阅读 1,027评论 0 1
  • 定义 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在...
    步积阅读 1,380评论 0 1
  • 一 概述 定义:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能...
    时待吾阅读 499评论 0 0
  • 前言:本来想写一个正经的游记来着,鉴于我蠢萌的属性,还是通过另一种视角来写这一次陪伴老王和小伙伴的经历吧,必须先声...
    玺安心阅读 608评论 13 11