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

地址类

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

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

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

荷兰地址类

public class DutchAddress {
    public void straat() {}

    public void postcode() {}

    public void plaats() {}
}

荷兰地址适配器类

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();
    }
}

演示类

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();
    }
}

演示结果

相关推荐

  1. 设计模式_结构模式_适配器模式

    2024-05-12 15:22:12       50 阅读
  2. 设计模式结构模式适配器模式

    2024-05-12 15:22:12       51 阅读
  3. 设计模式-适配器模式 Adapter

    2024-05-12 15:22:12       48 阅读
  4. 设计模式——适配器模式Adapter

    2024-05-12 15:22:12       34 阅读
  5. 设计模式结构设计模式——适配器模式

    2024-05-12 15:22:12       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 15:22:12       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 15:22:12       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 15:22:12       82 阅读
  4. Python语言-面向对象

    2024-05-12 15:22:12       91 阅读

热门阅读

  1. Docker 部署MySQL

    2024-05-12 15:22:12       29 阅读
  2. 系统加固-自用

    2024-05-12 15:22:12       32 阅读
  3. 继续SQL

    继续SQL

    2024-05-12 15:22:12      32 阅读
  4. php 检查脚本是否在运行

    2024-05-12 15:22:12       36 阅读
  5. hal_stm32_RTC函数

    2024-05-12 15:22:12       24 阅读
  6. SQLite索引名称重复(index already exists)

    2024-05-12 15:22:12       26 阅读
  7. Hive 与 SQL 标准和主流 SQL DB 的语法区别

    2024-05-12 15:22:12       26 阅读
  8. GIT仓库分支迁移新仓库步骤

    2024-05-12 15:22:12       27 阅读
  9. Rust学习笔记(下)

    2024-05-12 15:22:12       28 阅读