设计模式-结构型-适配器模式-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();
    }
}

演示结果

相关推荐
短剑重铸之日15 小时前
《SpringBoot4.0初识》第一篇:前瞻与思想
java·开发语言·后端·spring·springboot4.0
蓝色王者15 小时前
springboot 2.6.13 整合flowable6.8.1
java·spring boot·后端
Tao____15 小时前
基于Ruoyi开发的IOT物联网平台
java·网络·物联网·mqtt·网络协议
花哥码天下16 小时前
apifox登录后设置token到环境变量
java·后端
浩瀚地学16 小时前
【Java】常用API(二)
java·开发语言·经验分享·笔记·学习
hashiqimiya17 小时前
springboot事务触发滚动与不滚蛋
java·spring boot·后端
HL_风神17 小时前
设计原则之迪米特
c++·学习·设计模式
HL_风神17 小时前
设计原则之合成复用
c++·学习·设计模式