专业的JAVA编程教程与资源

网站首页 > java教程 正文

java设计模式适配器

temp10 2024-11-26 09:00:00 java教程 15 ℃ 0 评论

适配器模式定义:主要工作就是转化,把一个接口转化为所需接口。比如:在没网线接口的电脑上要上网,就需要把usb接口转化为网线接口

场景:(1) 我们要使用的接口不符合需求时,接口不兼容 (2) 需要建立复用的类,用于关联彼此没头太多关联的类。

java设计模式适配器

一,类适配器模式

/**
 * @date: 2022/6/7 09:52
 * @desc: 网线接口
 */
public interface INet {
    void net();
}
/**
 * @date: 2022/6/7 09:53
 * @desc: 网线
 */
public class Net implements INet {
    public void net() {
        System.out.println("网线功能输出");
    }
}
/**
 * @date: 2022/6/7 09:56
 * @desc: 接口usb
 */
public interface Iusb {
    void isUsb();
}
/**
 * @date: 2022/6/7 10:17
 * @desc: 适配器
 */
public class Myadapter extends Net implements Iusb {
    public void isUsb() {
        System.out.println("可以继承网线功能");
        net();
    }
}
        // 测试代码
        Myadapter myadapter = new Myadapter();
        myadapter.isUsb();

二,对象适配器模式

/**
 * @date: 2022/6/7 09:52
 * @desc: 网线接口
 */
public interface INet {
    void net();
}
/**
 * @date: 2022/6/7 09:56
 * @desc: 接口usb
 */
public interface Iusb {
    void isUsb();
}
/**
 * @date: 2022/6/7 09:53
 * @desc: 网线
 */
public class Net implements INet {
    public void net() {
        System.out.println("网线功能输出");
    }
}
/**
 * @date: 2022/6/7 10:17
 * @desc: 适配器
 */
public class Myadapter implements Iusb {
    private INet net;
    public Myadapter(INet net_) {
        net = net_;
    }
    public void isUsb() {
        System.out.println("构造成员变量net从而实现网线功能");
        net.net();
    }
}
        // 测试代码
        Myadapter myadapter = new Myadapter(new Net());
        myadapter.isUsb();

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表