国产成人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适配器模式的两种分类,希望能对大家有所帮助。

关注

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

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

张慧的奶头被老局长吃奶的视频 | 《性房纵欲》在线观看| 美国伦理《欲奴3)| 《台球室的特殊待遇》| 《医务室上垒》动漫全集在线观看| 《厨房激战5》完整版在线观看| 动漫《纯洁的修女》在线看| 日韩| 外国大扔子视频播放| 成色18K1835MB| 亚洲| 百度CREATE2025| 9.1短视全免费| 外国大片又大又好看的PPT | 无人区免费观看高清电视剧| 《警花交换做爰》| 小视频| 成都私人情侣免费看电视剧的软件| 丈夫不在的日子中字头| 尧建云| 欧美大片| 三个男人躁我奶头好舒服| 少女与狗2在线观看免费版高清| 《被按摩的人妻4》| AV网站在线观看| 温柔女教师在线观看电视剧大全 | 公交车被上高湖了还能坐吗小说| 女人尝试到更粗大的心理变化| 《炸梨吧!巨棒》免费阅读漫画| 嫂子的职业电影| 小小小蜜桃免费观看电视剧高清| 1尿到0的直肠里| 成全免费高清在线观看第6季预告 成全视频高清免费观看捉妖记动漫 | 做到双眼失焦双男主| 麻花传MV在线观看的最新进展 | 九九影视在线观看免费最新电视剧| 爸爸的大DJ小说| 《互换人妻HD中字》| 水兵| 一夹一摇怎么练出来| 小电影