适配器模式

简介: 有三种适配器模式。1.类适配器2.对象适配器3.接口适配器

有三种适配器模式。


1.类适配器


2.对象适配器


3.接口适配器


类适配器


适配器继承适配对象,并实现适配目标的所有方法。


一个低级玩具的想变成高级玩具,适配器先继承那个低级玩具。


首先适配器要去继承需要适配对象(低级玩具,是个类)


然后适配器实现适配目标(高级玩具,是个接口)


最后直接new适配器对象,调用适配器的方法即可。


注意:因为Java是单继承,所以较少用此模式。


对象适配器


定义:基于聚合原则,将适配的对象作为适配器的一个属性。


和类适配器的区别就是:不继承适配对象(低级玩具,是个类)了,而是直接在适配器中new一个低级玩具直接获得此类的所有方法。


好处:解决单继承问题。


接口适配器


定义:适用于一个接口不想实现其所有的方法的情况,只想实现其中一个方法就行了。


举例:activity生命周期回调函数。


首先,适配器是抽象的。


其次,实现了所有接口的方法,但是方法体是空的。


然后,真正使用的时候就new一个适配器,然后所有的方法已经实现过了,只需要重写里面需要重写的方法即可。


适配目标(高级玩具)


public interface Listener{
    public void start();
    public void pause();
    public void stop();
    public void end();
}


适配器


public abstract class AbsListener implements Listener{
    @Override
    public void start(){
    }
 @Override
    public void pause(){
    }
 @Override
    public void stop(){
    }
 @Override
    public void end(){
    }
}


用一个类


public class Player{
    public void listen(Listener listener){
        listener.start();
        listener.pause();
        listener.stop();
        listener.end();
    }
}


主程序

public class Client{
    public static void main(String[] args){
        new Player().listen(new AbsListener(){
            @Override
            public void start(){
                System.out.println("开始好方法");
            }
        });
         new Player().listen(new AbsListener(){
            @Override
            public void end(){
                System.out.println("结束好方法");
            }
        });
    }
}


目录
相关文章
|
设计模式 Java
适配器模式之桥梁模式
设计模式目录 http://blog.csdn.net/fenglailea/article/details/52733435 风.fox 桥梁模式 Bridge Pattern 将抽象和实现解耦,使得两者可以独立地变化 通用类图 组成 抽象化角色 Abstraction 它的主要职责是定义出该角色的行为,同时保存一个对实现化角色的引用,该角色一般
1165 0
|
设计模式 数据库 C++
2023-6-15-第六式适配器模式
2023-6-15-第六式适配器模式
107 0
|
设计模式 Java Spring
适配器模式详解与应用
引用一个最经典的例子,我们自己家里的电压都是220V的,而早期的手机充电时所用的都是5V的电压。要想让手机在220V的家庭电压下充电,就需要一个电源适配器。在编程中,也经常会出现一个类程序无法直接去使用,而需要通过适当变换的行为抽象出来的设计模式就是适配器模式。
|
设计模式 前端开发
关于适配器模式我所知道的
关于适配器模式我所知道的
57 0
|
设计模式
我学会了,适配器模式
适配器模式属于结构型模式,这个类型的设计模式总结出了 类、对象组合后的经典结构,将类、对象的结构和使用解耦了,花式的去借用对象。
133 0
我学会了,适配器模式
2.1适配器模式
1.概念:将一个类的接口转换成客户希望的另外一个接口,使得原来由于接口不兼容不能一起工作的类可以一起工作。侧重接口转换。 2.案例:姚明的翻译 3.场景:复用旧类,但接口和复用环境不一致。
632 0
|
测试技术 PHP
PHP设计模式——适配器模式
声明:本系列博客参考资料《大话设计模式》,作者程杰。           适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的(适配器模式要解决的核心问题)。
1011 0
|
10月前
|
设计模式
【适配器模式】—— 每天一点小知识
【适配器模式】—— 每天一点小知识
|
7月前
|
Windows
16.适配器模式
 1适配器模式的核心内容是: A:两种或多种不同类型的类。 B:通过适配器(Translator)让另外一种(ForeignCenter)协同另外一者工作。达到类似player的功能 2适配器模式的作用:让不是一种类型的类也同样执行类似相同类的动作。 3桥接模式具体描述 适配器(变压器)模式:把一个类的接口变换成客户端所期待的另一种接口 从而使
1344 0