国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > java适配器模式的两种分类

java适配器模式的两种分类

头像

小妮浅浅

2021-02-25 17:37:202547浏览 · 0收藏 · 0评论

1、类适配器模式

实现方式:定义一个适配器类来实现当前系统的业务接口,同时又继承现有组件库中已经存在的组件。

public class HelloWorld {
    public static void main(String[] args) {
        Computer computer = new Computer();
        SDCard sdCard = new SDCardImpl();
        System.out.println(computer.readSD(sdCard));
 
        System.out.println("------------");
 
        SDAdapterTF adapter = new SDAdapterTF();
        System.out.println(computer.readSD(adapter));
    }
}
 
// SD卡的接口
interface SDCard {
    // 读取SD卡功能
    String readSD();
 
    // 写入SD卡功能
    void writeSD(String msg);
}
 
// SD卡实现类
class SDCardImpl implements SDCard {
    @Override
    public String readSD() {
        String msg = "sd card read a msg: hello sd card";
        return msg;
    }
 
    @Override
    public void writeSD(String msg) {
        System.out.println("sd card write msg: " + msg);
    }
}
 
// 电脑类
class Computer {
    public String readSD(SDCard sdCard) {
        if (sdCard == null) {
            throw new NullPointerException("sd card null");
        }
        return sdCard.readSD();
    }
}
 
// TF卡接口
interface TFCard {
    // 读取TF卡功能
    String readTF();
 
    // 写入TF卡功能
    void writeTF(String msg);
}
 
// TF卡实现类
class TFCardImpl implements TFCard {
    @Override
    public String readTF() {
        String msg = "sd card read a msg: hello tf card";
        return msg;
    }
 
    @Override
    public void writeTF(String msg) {
        System.out.println("tf card write msg: " + msg);
    }
}
 
// 定义适配器类(SD兼容TF)
class SDAdapterTF extends TFCardImpl implements SDCard {
    @Override
    public String readSD() {
        System.out.println("adapter read tf card ");
        return readTF();
    }
 
    @Override
    public void writeSD(String msg) {
        System.out.println("adapter write tf card");
        writeTF(msg);
    }
}

2、对象适配器模式

实现方式:对象适配器模式可采用将现有组件库中已经实现的组件引入适配器中,该类同时实现当前系统的业务接口。

public class HelloWorld {
    public static void main(String[] args) {
        Computer computer = new Computer();
        SDCard sdCard = new SDCardImpl();
        System.out.println(computer.readSD(sdCard));
 
        System.out.println("------------");
        
        TFCard tfCard = new TFCardImpl();
        SDAdapterTF adapter = new SDAdapterTF(tfCard);
        System.out.println(computer.readSD(adapter));
    }
}
 
// SD卡的接口
interface SDCard {
    // 读取SD卡功能
    String readSD();
 
    // 写入SD卡功能
    void writeSD(String msg);
}
 
// SD卡实现类
class SDCardImpl implements SDCard {
    @Override
    public String readSD() {
        String msg = "sd card read a msg: hello sd card";
        return msg;
    }
 
    @Override
    public void writeSD(String msg) {
        System.out.println("sd card write msg: " + msg);
    }
}
 
// 电脑类
class Computer {
    public String readSD(SDCard sdCard) {
        if (sdCard == null) {
            throw new NullPointerException("sd card null");
        }
        return sdCard.readSD();
    }
}
 
// TF卡接口
interface TFCard {
    // 读取TF卡功能
    String readTF();
 
    // 写入TF卡功能
    void writeTF(String msg);
}
 
// TF卡实现类
class TFCardImpl implements TFCard {
    @Override
    public String readTF() {
        String msg = "sd card read a msg: hello tf card";
        return msg;
    }
 
    @Override
    public void writeTF(String msg) {
        System.out.println("tf card write msg: " + msg);
    }
}
 
// 定义适配器类(SD兼容TF)
class SDAdapterTF implements SDCard {
    private TFCard tfCard;
 
    public SDAdapterTF(TFCard tfCard) {
        this.tfCard = tfCard;
    }
 
    @Override
    public String readSD() {
        System.out.println("adapter read tf card ");
        return tfCard.readTF();
    }
 
    @Override
    public void writeSD(String msg) {
        System.out.println("adapter write tf card");
        tfCard.writeTF(msg);
    }
}

以上就是java适配器模式的两种分类,希望能对大家有所帮助。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

音响怎么选| 深入无人区短剧免费高清观看| 小妹妹爱大棒棒免费观看电视剧一| 做AJ的视频大全图片高清下载| 情窦初开的少女2| 爱的释放| JK| 蜜桃成熟时李慧珍演的| 九九在线观看免费播放大全电视剧 | 在床上的72种扦插方法| 接电话顶C的说不出话PLAY| 香艳满屋| 飞花艳想!| 《淫海春潮》法国1980| 《有夫之妇的秘书》演员表| 白日梦我电视剧| 星空传媒天美传媒有限公司 | 国产精品久久久久久精品| 麻花传MV在线看免费观看电视剧| 夜半梳头在线观看| 老公把闺蜜干的嗷嗷叫| 小叔子从后面抱住我的电视剧 | 暴躁妹妹CSGO直播| 人口兽猪马狗第1集| 淑婷在公室被躁到高潮观看| 欧式少女16集全免费观看电视剧| 麦子交换2免费完整版| 《蜜桃成熟时1997》主题曲歌...| 万能浏览器| 把你CAO烂好不好高H| 吻戏韩剧| 在野外自慰和陌生人做了 | 免费网站在线观看人数在哪省| 下面的小嘴又饿了| CSGO暴躁妹妹免费观看电视剧| 爸爸带女儿戴避孕套谁来承担| H动漫片| 《妻子3》免费完整版高清韩剧| 初体验| 老公不在我和公发| 阴部按摩出水太尴尬怎么办