设计模式--适配器模式--类适配器(入门级别 非理论 java源代码)

适配器模式在影像数据转换的应用
本文介绍了一种使用适配器模式将电脑输出的影像数据转换为显示器可识别格式的方法。通过定义适配器接口和实现类,解决了不同设备间数据格式不匹配的问题。

此文章不讨论理论 单纯实现一下

大概的构思图,画的不知道对不对构思图

这是影像数据输出接口(只输出数据啊 不负责显示!!!)

public interface IComputerOuputContent {
    void toDisplayData();
}

适配器接口类(数据转换器接口类)

public interface IVideoAdapter {
    void convertData();
}

输出数据接口实现类 电脑

一台电脑implements很多接口 比如各种输入接口(键盘输入接口 鼠标输入接口) 输出接口 (显示屏内容输出接口 音频输出接口)

当然我这里只实现了影像输出接口

public class Computer implements IComputerOuputContent {
    @Override
    public void toDisplayData() {
        System.out.println("给显示器的数据");
    }
}

适配器类 就是把电脑给的数据转化为图像的东东

因为Computer(电脑)里面的void toDisplayData()方法是实现了的 是真的有“给显示器的数据”的

Displayer(显示器)想显示却不能直接显示的内容

Displayer(显示器)无法直接调用Computer(电脑)的内容所以需要something帮忙转化数据(适配数据)

adapter(适配器) 应运而生 这个adapter是可以做很多事情的 但是我只实现了IVideoAdapter(影像数据适配(转换)功能) 当然你还可以implements别的功能

简单理解 Adapter继承Computer(电脑)的影像数据 实现给IVideoAdapter(数据转换器)

public class Adapter extends Computer implements IVideoAdapter{
    /**
     * 此处进行适配(数据转换)
     *
     * 改写适配器convertData接口 输出电脑的content显示内容
     */
    @Override
    public void convertData() {
        /**
         * 获取Computer给的数据
         */
        this.toDisplayData();

        //此处正在努力转换成显示器能接受的数据。。。。。。。
        
    }
}

显示器类

public class Displayer {

    private IVideoAdapter videoAdapter;

    /**
     * 给显示器加个影像数据适配(转换)器
     * @param videoAdapter
     */
    public void setVideoAdapter(IVideoAdapter videoAdapter) {
        this.videoAdapter = videoAdapter;
    }

    /**
     * 显示内容
     */
    public void view() {
        videoAdapter.convertData();
    }
}

main方法测试一下

public class Main {
    public static void main(String[] args) {
        /**
         * 实例化显示器
         */
        Displayer displayer = new Displayer();
        displayer.setVideoAdapter(new Adapter());
        /**
         * 把数据转换器接入显示器
         * 显示器显示内容
         */
        displayer.view();
    }
}

输出内容

输出执行结果
懒得敲代码的人可以到这里下载
[https://download.youkuaiyun.com/download/Mo_0214/12536851]

纯属个人理解 如果有啥不正确的希望理解并留言告诉我 谢谢

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值