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

演示结果

相关推荐
前端工作日常5 小时前
我学习到的Java中domain和dto区别
java·后端
码农学院6 小时前
基于Spring Boot的跨境电商多语言订单管理系统架构设计
java·大数据·spring boot
技术小结-李爽7 小时前
【工具】pom文件的<packaging>
java·maven
l156469487 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
IT小盘8 小时前
05-企业项目统一接入多个大模型-适配器模式实战
前端·人工智能·适配器模式
布吉岛的石头8 小时前
Java 程序员第 45 阶段11:网关统一路由大模型接口,配合 Nacos 配置治理,灰度路由:基于Nacos元数据实现大模型服务灰度发布与权重路由
java·服务发现
我命由我123458 小时前
Android 开发问题:Cannot resolve method ‘repeat‘ in ‘String‘
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
baozhengw9 小时前
信创改造-SpringBootJar包改为WAR包部署Tomcat
java·tomcat
M1A19 小时前
基于 Spring AOP 构建系统操作日志:从注解设计到异步落库的完整实战
java
RainCity9 小时前
Java Swing 自定义组件库分享(十五)
java·笔记·后端