`

学习设计模式之适配器模式

阅读更多
  • 首先声明一个鸟类的接口,鸟会飞,还会唱歌
  • package com.adapter;
    
    public interface Bird {
    	public void sing();
    	public void fly();
    }
    

  • 创建老鹰类,实现鸟类接口
  • package com.adapter;
    
    public class Eagle implements Bird {
    
    	public void fly() {
    		System.out.println("I am an eagle, I can fly high");
    	}
    	public void sing() {
    		System.out.println("I can sing loud");
    	}
    }
    

  • 创建家禽接口,家禽也能飞,叫
  • package com.adapter;
    
    public interface JiaQin {
    	public void fly();
    	public void jiao();
    	
    }
    

  • 创建家禽实现类鸭子,鸭子飞得不高,只会嘎嘎叫
  • package com.adapter;
    
    public class Duck implements JiaQin {
    	public void fly() {
    		System.out.println("I can fly a little");
    	}
    	public void jiao() {
    		System.out.println("I can quack");
    	}
    }
    

  • 现在领导要来观察老鹰,但是现在没有老鹰,好吧,那就抓一只鸭子来冒充吧,披上老鹰皮的鸭子
  • package com.adapter;
    
    public class BirdTest {
    	public static void main(String[] args){		
    		JiaQin duck = new Duck();
            //假的老鹰,去冒充鸟类,使之也可以被观察		
    		Adapter phonyEagle = new Adapter(duck);	
    		observerTheBird(phonyEagle);				
    	}
    	//观察鸟类方法
    	public static void observerTheBird(Bird b){
    		b.fly();
    		b.sing();		
    	}
    }
    

  • 让鸭子能披上老鹰皮的,就是那个适配器Adapter,里面真的包了一只鸭子,会装的鸭子
  • package com.adapter;
    
    public class Adapter implements Bird {
    	private JiaQin duck;
    	
    	Adapter(JiaQin duck){
    		this.duck = duck;
    	}
    	public void fly() {
    		duck.fly();
    	}
    	public void sing() {
    		duck.jiao();
    	}
    }
    

  • 运行结果如下:
  • I can fly a little
    I can quack
    


    总结:适配器模式的用处在于装,将类从一个接口,转换到另外一个接口,使原来不一样的类,至少可以看起来是一样的

    1
    0
    分享到:
    评论

    相关推荐

      设计模式之适配器模式

      最容易上手和学习的实例,设计模式之适配器模式,你值得下载学习

      设计模式之适配器模式与外观模式demo

      该资源是学习完设计模式的适配器模式与外观模式根据书中内容所写的demo

      设计模式适配器模式PPT学习教案.pptx

      设计模式适配器模式PPT学习教案.pptx

      设计模式C++学习之适配器模式(Adapter)

      设计模式C++学习之适配器模式(Adapter)

      .Net设计模式_适配器模式

      这是一个适配器模式的简单Demo,希望对学习设计模式的人有帮助

      设计模式_适配器模式.zip

      这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入...

      详解JAVA设计模式之适配器模式

      主要介绍了JAVA设计模式之适配器模式的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解

      Java 经典设计模式讲解以及项目实战

      Java 经典设计模式讲解以及...12 适配器模式 设计模式综合运用 1 门面+模版方法+责任链+策略 2 门面+模版方法+责任链+策略+工厂方法 3 动态代理+Spring AOP 4 责任链模式进阶 Spring Framework设计模式 Spring 设计模式

      《C++20设计模式》学习笔记-第6章适配器模式学习代码

      《C++20设计模式》学习笔记-第6章适配器模式学习代码

      新技术培训 培训讲义9_设计模式之单例适配器和工厂模式.doc

      新技术培训 培训讲义9_设计模式之单例适配器和工厂模式.doc 学习资料 复习资料 教学资源

      设计模式学习之适配器模式

      在我们平时的开发过程中,适配器模式可以说是经常能见到的设计模式,ListView 和RecyclerView的Adapter就是典型的适配器模式,当我们在开发时,碰到要在两个完全没有关系的类之间进行交互,第一个解决方案是修改各自...

      尚硅谷设计模式源码笔记课件.zip

      2) 设计模式包含了大量的编程思想,讲授和真正掌握并不容易,网上的设计模式课程不少,大多讲解的比较晦涩,没有真实的应用场景和框架源码支撑,学习后,只知其形,不知其神。就会造成这样结果: 知道各种设计模式,...

      CC++与设计模式基础课程-讲义

      学习设计模式可以提高职业素养,帮助开发人员更好地应对软件开发中的挑战。 在学习设计模式时,需要掌握一些基本概念,例如,创建型模式、结构型模式和行为型模式。创建型模式关心对象的创建过程,包括工厂方法模式...

      研磨设计模式(完整带书签).part2.pdf

      也可以作为高效学生深入学习设计模式的参考读物! 第1章 设计模式基础 第2章 简单工厂 第3章 外观模式 第4章 适配器模式(Adapter) 第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章...

      java设计模式学习文档.pdf

      培养学生掌握简单工厂模式、工厂方法模式、单例模式、原型模式、桥接模式、适配器模式、装饰模式、代理模式、命令模式、观察者模式等常用设计模式的设计思想,并掌握在实际软件工程领域中的运用,能够把所学的原理...

      java设计模式学习

      有助于理解设计模式,很简单实用的例子,包括工厂模式、适配器模式等

      C#学习笔记之适配器模式详解

       一般而言,使用适配器模式是出于无奈之举,一般存在于软件开发后期或者维护期,在软件设计阶段,我们还是尽量避免该模式的使用。 适配器模式的组成  Target:目标接口,也就是客户所期待的接口。目标可以是具体的...

      常用设计模式学习脑图

      常用设计模式脑图,脑图中根据每个设计模式进行了详细的备注解释!我们的最强大脑在哪里?在这里!(单例模式、原型模式、工厂模式、代理模式、策略模式、适配器模式、委派模式、装饰器模式、观察者模式)

      23种Python设计模式示例演示源码包.rar

      23种Python设计模式示例演示源码包,比如包括了工厂模式、Bridge桥接模式、Builder构建模式、Facade外观模式、Adapter适配器模式,Composite组合模式、Decorator装饰器模式,FactoryMethod工厂方法模式、Flyweight享...

    Global site tag (gtag.js) - Google Analytics