设计模式-结构型-适配器模式-Adapter

地址类

java 复制代码
public class Address {
    public void street() {
        System.out.println("普通的街道");
    }

    public void zip() {
        System.out.println("普通的邮政编码");
    }

    public void city() {
        System.out.println("普通的城市");
    }
}

荷兰地址类

java 复制代码
public class DutchAddress {
    public void straat() {}

    public void postcode() {}

    public void plaats() {}
}

荷兰地址适配器类

java 复制代码
public class DutchAddressAdapter extends DutchAddress {
    private Address address;

    public DutchAddressAdapter(Address address) {
        this.address = address;
    }

    public void straat() {
        address.street();
    }

    public void postcode() {
        address.zip();
    }

    public void plaats() {
        address.city();
    }
}

演示类

java 复制代码
public class Test {
    public static void main(String[] args) {
        Address addr = new Address();
        DutchAddress addrAdapter = new DutchAddressAdapter(addr);
        System.out.println("the DutchAddress");
        testDutch(addrAdapter);
    }

    private static void testDutch(DutchAddress addr) {
        addr.straat();
        addr.postcode();
        addr.plaats();
    }
}

演示结果

相关推荐
LUCIAZZZ1 分钟前
Https解决了Http的哪些问题
java·网络·网络协议·spring·http·rpc·https
论迹22 分钟前
【JavaEE】-- 多线程(初阶)2
java·开发语言·java-ee
桃子是唯一的水果31 分钟前
java 单例模式(Lazy Initialization)实现遍历文件夹下所有excel文件且返回其运行时间
java·单例模式·maven
+72032 分钟前
如何在java中用httpclient实现rpc post 请求
java·开发语言·rpc
ybq1951334543134 分钟前
javaEE-SpringBoot日志
java·spring boot·后端
火烧屁屁啦38 分钟前
【JavaEE进阶】图书管理系统 - 贰
java·spring
xzzd_jokelin38 分钟前
Spring AI 接入 DeepSeek:开启智能应用的新篇章
java·人工智能·spring·ai·大模型·rag·deepseek
刘什么洋啊Zz1 小时前
剖析IO原理和零拷贝机制
java·运维·网络
卷心菜好6啊1 小时前
特辣的海藻!2
java
心态与习惯1 小时前
mac 下 java 调用 gurobi 不能加载 jar
java·jar·mac·cplex·gurobi